Skip to topic | Skip to bottom
Home"Wealth without money..."

Searched: \.*
Results from TWiki web
This is a short introduction training course for TWiki beginners (newbies).

Start Presentation

Slide 1: A Taste of TWiki

The basic function of TWiki is a Wiki (if that helps!)

A Wiki is like a normal web site, except that you can edit the content in your browser

  • "Wiki" is short for "wiki wiki", the Hawaiian for "Quick"
  • The idea originates from Macintosh Hypercard, via Ward Cunningham
  • In Ward's words, Wiki is "the simplest online database that could possibly work"
  • A Wiki is basically a shared, online, persistant whiteboard

Slide 2: TWiki Wiki

TWiki implements the basic Wiki idea of a shared whiteboard
  • Anyone can add content
    ... or change what is written
    ... or change the organisation of the content
  • Whatever what you write is
    ... nicely presented
    ... remembered... and never forgotten
TWiki also acts as an "application platform" to integrate a number of other functions.

TWiki is an Open-Source development on TWiki.org

Slide 3: Where is it used?

Slide 4: TWiki Features

TWiki builds on the original Wiki concept and adds a number of features that make it very useful in a business environment.
  • TWiki pages are fully revision controlled, so a record of every change to every page is kept
    r1.6 > r1.5 > r1.4
  • The look-and-feel is highly configurable, through use of templates
  • A "plugins" interface eases
    • customisation
    • extension
    • application integration

Slide 5: Applications of basic TWiki

Basic TWiki can be used as:
  • A whiteboard
  • A document repository
  • A collaborative authoring environment
  • A notebook / scrapbook
  • A chat room

Slide 6: Extended applications

TWiki-with-extensions has been used as:
  • A Content Management System (CMS) for websites
  • A presentation development tool
  • A Blog
  • A database
  • A project management system
  • A tracking tool
  • (truth is, we don't really know its limits!)

Slide 7: Structure of a TWiki page

TWiki pages are usually organised into three parts:
  • A header
  • A body
  • A footer

  • The header and the footer are generated by the system
  • The body contains the text of the page, as entered by you
TWiki is very configurable, and the look can change. However the essentials will all be there on the page (somewhere!)

Slide 8: The Page Header

The header of a TWiki page is generally highlighted in colour, and will usually contain an icon that gives you an idea of where you are, such as a company logo.
TWiki home MyCo.MyTopic Webs:
Myco | Main | TWiki | Sandbox
Changes | Index | Search | Go
It will also usually contain a number of 'links' that you can click on. You will generally see:
  • Changes - gives you a list of recent changes
  • Index - gives you a full index
  • Search - takes you to a search page, where you can search all the text
  • Go - lets you type in the name of a page you already know

Slide 9: The Page Header

TWiki home MyCo.MyTopic Webs:
Myco | Main | TWiki | Sandbox
Changes | Index | Search | Go
You may also see in the header (usually at the top right) a list of the TWiki "webs". A web is a collection of pages that are related closely together
  • For example, we might have a web called "Enemies", where we keep all we know about our enemies, and another called "Friends"
  • There's usually a safe play web called something like "Sandbox" or "Scratch", where you can create pages just to try things out
  • And some admin areas, like "Main" and "TWiki"

Slide 10: The Page Footer

The footer of the page is also highlighted in colour, and is usually where you will find the links that let you change the content.
Edit | Attach | Diffs | r1.2 > r1.1 | More
Revision r1.2 - 13 Feb 2004 - 09:09 GMT - TWikiPresenter Copyright © 1999-2009 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding RepRap? Send feedback
  • The Edit link takes you to an interactive page where you can change the page content
  • The Attach link lets you attach files
  • The other links invoke other, more complex, functions, mainly to do with revision tracking - they can safely be ignored for now

Slide 11: Editing Pages

  • You've read a page, and you disagree with it violently! It says:
    Everyone knows that the world is an OblateSpheroid
    But you know for a fact it is flat! wink
  • You've clicked the edit link, and an edit page has appeared. But it doesn't look much like what was on the page before - it's full of strange hieroglyphics!
_Everyone_ *knows* that =the world= is an OblateSpheroid
  • Now what?

Slide 12: What's in a page

  • The hieroglyphics are what's known as "TWiki Markup" or "formatting"
  • They are a really simple way of telling the browser how you want the page to look
  • You don't have to use them
    • TWiki understands pages in plain text just fine.

      Actually it is perfectly and absolutely flat

      appears as

      Actually it is perfectly and absolutely flat

Slide 13: Formatting just makes pages prettier

... and easier to read

_Actually_ it is *perfectly* and __absolutely__ flat

appears as

Actually it is perfectly and absolutely flat
  • A full description of all the formatting can be found in the TextFormattingRules and TextFormattingFAQ
  • The best thing to do is just to type until you get stuck
    • then follow the link on the edit page to the help.

Slide 14: Commonly used formatting

TWiki understands pages in plain text just fine, but you can jazz them up using some simple formatting shortcuts. Here are some of the more commonly used ones:
  • ---+ indicates a heading. Add more +'s for a deeper heading.
    You type You see
    ---+ This is a heading

    This is a heading

    ---++ And so is this

    And so is this

  • %TOC% will insert a table of contents

Slide 15: More common formatting

  • A blank line gives a paragraph break
  • --- on a line of its own gives a horizontal bar
  • Text in stars *like this* looks like this
  • Text in underscores _like this_ looks like this
  • Text in equals signs =like this= looks like this
  • Bulleted lists use three spaces followed by an asterisk (*) at the start of the line
    • The depth of the bullet is given by the number of spaces, in multiples of three
You type You see
   * Bullet
      * Sub-bullet
  • Bullet
    • Sub-bullet
  • Numbered lists use a number in place of the *. The list is numbered automatically, so you can just use a 1

Slide 16: Even more.....

  • You can create a table using vertical bars:
     | Cat | Feline |
     | Bear | Ursine |
     | Wolf | Vulpine |
  • appears as
    Cat Feline
    Bear Ursine
    Wolf Vulpine
  • %RED% .... %ENDCOLOR% will change the colour of the enclosed text. Lots of colours are available (%RED%, %GREEN%, %BLUE% etc)

Slide 17: WikiWords

  • One special hieroglyph that is very important is a BumpyWord
    • a word that starts with uppercase, then some lowercase, then more uppercase (a.k.a CamelCase)
  • This has a special meaning to TWiki; if it matches the name of another topic, TWiki will automatically create a link to that page for you.
  • If there is no such page, then the word is highlighted and a question mark is put after the word, LikeThis?
  • If you click on the question mark, then TWiki will invite you to create that page.

  • This lets you enter the names of topics you think should exist, but don't yet
    • You, or someone else, can always come along later and click on the question mark!

Slide 18: Referencing other pages and URLs

  • BumpyWords automatically link to the target page
    • You can make these links easier to read using square brackets:
  • An ordinary URL pasted into text will appear as a link - http://www.google.com
    • You can also prettify URLs using square brackets:
      • [[http://www..google.com][google]] appears as google
  • Use %SEARCH. This is an interface to a sophisticated search engine that embeds the results of the search in your page. See TWikiVariables for full details.

Slide 19: More formatting

  • There's lots more formatting available, see TextFormattingRules and TextFormattingFAQ
  • If you are a real masochist, you can even enter raw HTML tags!
  • Important to disable unwanted formatting, use <nop>
    • <nop>_word_ appears as _word_

Slide 20: Creating new pages

  • Alternative ways:
    • Click on the question mark after a BumpyWord
    • Type in the name of the topic in the "Go:" box
    • Type in the name of the topic in the URL
  • Any time you try to visit a page that doesn't exist, TWiki will invite you to create it.
  • Make sure the names of topics are always BumpyWords.

Slide 21: Attachments

  • Attachments are files which have been uploaded and attached to a TWiki page using the 'Attach' function in the footer.
Attachment sort Action Size Date Who Comment
myco.gif manage 9.6 K 13 Feb 2004 - 18:41 MushroomMagicMan Attached image file
  • Attachments are simply files, in whatever format you want.
  • TWiki recognises some file formats, notably image files (.gif)
    • Write %ATTACHURL%/myco.gif to see this: /pub/TWiki/ATasteOfTWiki/myco.gif

Slide 22: Wiki Culture

Enough about mechanics; how is a wiki actually used ? Well, that's really up to you, but there are a number of tricks that the wiki community has developed for collaborative writing that work pretty well:
  • What can I edit?
    • Anything. But it's good etiquette to sign your contributions
    • If someone doesn't want you to edit a page, it's up to them to say so, clearly, on the page
  • But what if somebody doesn't like my edits?
    • In TWiki, they can always recover the old revision and re-instantiate it if they really want to
    • Otherwise they should regard your changes as an opportunity for discussion
  • Pages in wiki are (usually) in one of three "modes"
    • DocumentMode
    • ThreadMode
    • StructuredMode
TWiki doesn't automatically distinguish between these modes; they are purely semantic.

Slide 23: DocumentMode

  • A page in DocumentMode usually comprises a contribution which is written in the third person and left unsigned.
  • The piece of text is community property
    • It may have multiple and changing authors as it is updated to reflect the community consensus.

Slide 24: ThreadMode

  • Thread mode is a form of discussion where the community holds a conversation
  • The discussion usually starts out with a statement, at the top of the page, that is subsequently discussed
  • The page may be periodically "refactored" (edited) to remove some of the comments
    • As long as the comment is accurately reflected in what replaces it, nobody usually minds.
    • Remember to always maintain a complete list of contributors, though!
You may see a comment box on a page in ThreadMode that makes it easy to quickly add your inputs. Typing in a comment and adding it to a page this way is known as "blogging" wink
  • ThreadMode is rather like an e-mail thread
    • Except that new comments are usually added to the end
  • ThreadMode pages often get refactored into DocumentMode

Slide 25: StructuredMode

  • A page in StructuredMode follows some predefined structure for example
    • An agenda
    • A set of meeting minutes
    • A requirement description.
  • Pages in StructuredMode will usually have rules governing how they are edited.

Slide 26: Other Wiki tricks - Categories

  • A Wiki trick for grouping pages together
  • Example: to group together a set of pages all relating to the weather:
    1. Create a page called 'CategoryWeather'
    2. Put a SEARCH that contain the word 'CategoryWeather' into it
      • %SEARCH{"CategoryWeather" nosearch="on" nosummary="on"}%
    3. Put the BumpyWord 'CategoryWeather' on all the pages relating to the weather
      (usually at the bottom, below a horizontal bar)

Slide 27: Contributed features

Basic TWiki is rich with features, but is enriched even further by the addition of optional plug-in modules that may (or may not!) be installed in your TWiki. These are classified as either skins (modules that change the look-and-feel) and plugins (modules that enhance functionality).

Here's a brief description of some of the more common plugins, together with the tags you might expect to see in topics if they are used. You can find out more by visiting the plugin pages.

  • ActionTrackerPlugin: Support action tags in topics, with automatic notification of action statii %ACTION...
  • CalendarPlugin: Show a monthly calendar with highlighted events %CALENDAR...%
  • CommentPlugin: Support rapid entry of short comments (also known as blogging) %COMMENT...
  • ChartPlugin: Create PNG or GIF charts to visualize data in TWiki tables %CHART...
  • EditTablePlugin: Edit TWiki tables using edit fields and drop down boxes %EDITTABLE...
  • InterwikiPlugin: Define shortcuts for links to common external sites

Slide 28: More plugins

  • RenderListPlugin: Render bullet lists in a variety of formats %RENDERLIST...
  • SlideShowPlugin: Create web based presentations based on topics with headings %SLIDESHOWSTART...
  • SpreadSheetPlugin: Add spreadsheet calculations like "$SUM( $ABOVE() )" to tables located in TWiki topics %CALC...
  • TablePlugin: Control presentation and sorting of tables %TABLE...
  • TWikiDrawPlugin: Add quick sketches to pages %DRAWING...
The following plugins are installed on this TWiki: DefaultPlugin, SpreadSheetPlugin, CaptchaPlugin, CommentPlugin, EditTablePlugin, HeadlinesPlugin, ImageGalleryPlugin, InterwikiPlugin, NewsPlugin, RenderListPlugin, SlideShowPlugin, SmiliesPlugin, TablePlugin

There are many other plugins, see http://www.twiki.org/cgi-bin/view/Plugins

Slide 29: Credits and Acknowledgements

Related topics: WelcomeGuest, TWikiTutorial, ATasteOfTWikiTemplate

-- TWiki:Main.CrawfordCurrie - 17 Feb 2004

Slide template for ATasteOfTWiki presentation

%SLIDETITLE%

%SLIDETEXT%
%SLIDENAVFIRST% %SLIDENAVPREV% Slide %SLIDENUM% of %SLIDEMAX% %SLIDENAVNEXT% %SLIDENAVLAST%
Copyright © 2009 by the contributing authors

-- TWiki:Main.CrawfordCurrie - 18 Feb 2004

Access Keys

What are access keys?

Access keys are keyboard shortcuts which allow the user to navigate around a website or a piece of computer software without having to use a mouse or other pointing device.

What are the advantages of using access keys?

Its an alternative to using a mouse, or other pointing device, and can sometimes be quicker than using a mouse.

How do I use access keys?

This depends on the browser you are using (see also cross-browser support below):

  • If you use Internet Explorer
    • Press and hold the 'Alt' key
    • Press the required letter
    • Release the keys and press the 'ENTER' key

  • If you use Netscape Navigator, Mozilla, or Firefox
    • Press and hold the 'Alt' key
    • Press the required letter

  • If you are using a Mac
    • Press and hold the 'Ctrl' key
    • Press the required letter

Learn more

Administrator Skills Assumptions

For each of these, the requirement is either pre-existing knowledge/skill, or the willingness to spend significant time (i.e. from hours to days) learning these.

  • Operating system administration: Ability to use Unix/Linux command line tools (or equivalent Windows tools), including ability to move/copy/delete files, change permissions, view web server log files, set environment variables, use a text editor, etc.
  • Web server administration: Ability to do basic setup, e.g. ability to edit config files or use GUI configuration tools to enable CGI scripts on a directory.
  • Program compilation: Where RCS is not pre-installed (that is most Unix systems), the ability to download and compile the RCS program from source, including use of configure, make, etc. This is often not necessary on Linux or Windows.
  • Troubleshooting: Ability to perform tests, inspect error logs, talk to technical support (whether in an IT department or web hosting provider) and read documentation in order to help with diagnosing installation problems.

Installing TWiki is not recommended for people who only know HTML and web design, unless they are willing to learn the above, or team up with someone who can handle the installation.

Although the TWikiInstallationGuide is quite complete, there will on occasion be parts that don't work in your local environment (particularly with TWiki:Codev/TWikiOnWebHostingSites, which are sometimes challenging even for those with good OS and web server skills).

There are many excellent resources for learning how to administer your OS and web server, including books, web sites, web forums, IM and email lists. The TWiki:Support web must not be depended on as a resource for this purpose - in other words, it is not there to answer basic questions about operating system and web server administration. Asking and answering questions is time consuming for all concerned and is best used for specific TWiki related issues, rather than helping you learn the OS and web server.

One of the best training courses for Linux is Basic Linux Training at http://basiclinux.net/ - this is a 2 month distance-learning course (via email). The course operators are friendly, and all students are newbies. A nice tool for people migrating from Windows is http://www.MidnightCommander.org/. It is already installed on Linux systems: try mc -ac and ESC 1 to get help.

-- TWiki:Main.RichardDonkin - 27 Apr 2002
-- TWiki:Main.GrantBow - 15 Jan 2003
-- TWiki:Main.PeterMasiar - 28 May 2003

Admin tools

Manage whole Reprap site from one screen.

Web Tools Use to...
Main Home of Main web Search Main web Recent changes in the Main web Get notified of changes to the Main web Preferences of Main web Statistics of Main web Bullet list of all topics Index of all topics ...get a first-hand feel for TWiki possibilities.
Sandbox Home of Sandbox web Search Sandbox web Recent changes in the Sandbox web Get notified of changes to the Sandbox web Preferences of Sandbox web Statistics of Sandbox web Bullet list of all topics Index of all topics ...experiment in an unrestricted hands-on web.
TWiki Home of TWiki web Search TWiki web Recent changes in the TWiki web Get notified of changes to the TWiki web Preferences of TWiki web Statistics of TWiki web Bullet list of all topics Index of all topics ...discover TWiki details, and how to start your own site.
This table is updated automatically based on WebPreferences settings of the individual webs.
Legend:   Home of web WebHome Search web WebSearch Recent changes in the web WebChanges Get notified of changes to the web WebNotify
    Preferences of web WebPreferences Statistics of web WebStatistics Bullet list of all topics WebTopicList Index of all topics WebIndex

Plugins: TWikiPlugins, TWikiFuncModule

  • DefaultPlugin: This plugin can be used to specify some simple custom rendering rules. It also renders depreciated *_text_* as bold italic text.
  • SpreadSheetPlugin: Add spreadsheet calculation like "$SUM( $ABOVE() )" to tables located in Reprap topics.
  • CommentPlugin: Allows users to quickly post comments to a page without an edit/preview/save cycle.
  • EditTablePlugin: Edit TWiki tables using edit fields, date pickers and drop down boxes
  • HeadlinesPlugin: Build news portals that show headline news based on RSS news feeds from news sites.
  • ImageGalleryPlugin: Displays image gallery with auto-generated thumbnails from attachments.
  • InterwikiPlugin: Link ExternalSite:Page text to external sites based on aliases defined in the InterWikis topic
  • NewsPlugin: %NEWS% generates a short headlines topic from a list of news
  • RenderListPlugin: Render bullet lists in a variety of formats
  • SlideShowPlugin: Create web based presentations based on topics with headings.
  • SmiliesPlugin: Render smilies as icons, like  :-) for smile or  :cool: for cool!
  • TablePlugin: Control attributes of tables and sorting of table columns

Versions:

  • TWiki engine: 30 Oct 2004 $Rev: 1794 $
  • Plugin API: 1.025

-- TWiki:Main.PeterMasiar - 02 Jul 2003
-- TWiki:Main.PeterThoeny - 15 Aug 2004

Appendix C: Encode URLs With UTF8

This page addresses implemented UTF-8 support for URLs only. The overall plan for UTF-8 support for TWiki is described in TWiki:Codev.ProposedUTF8SupportForI18N .

Current Status

To simplify use of internationalised characters within WikiWords and attachment names, TWiki now supports UTF-8 URLs, converting on-the-fly to virtually any character set, including ISO-8859-*, KOI8-R, EUC-JP, and so on.

Support for UTF-8 URL encoding avoids having to configure the browser to turn off this encoding in URLs (the default in Internet Explorer, Opera Browser and some Mozilla Browser URLs) and enables support of browsers where only this mode is supported (e.g. Opera Browser for Symbian smartphones). A non-UTF-8 site character set (e.g. ISO-8859-*) is still used within TWiki, and in fact pages are stored and viewed entirely in the site character set - the browser dynamically converts URLs from the site character set into UTF-8, and TWiki converts them back again.

System requirements are updated as follows:

  • ASCII or ISO-8859-1-only sites do not require any additional CPAN modules to be installed.
  • Perl 5.8 sites using any character set do not require additional modules, since CPAN:Encode is installed as part of Perl.
  • This feature still works on Perl 5.005_03 as per TWikiSystemRequirements, or Perl 5.6, as long as CPAN:Unicode::MapUTF8 is installed.

ISO-2022-*, HZ-* and other 'non-ASCII-safe' multi-byte character sets are now specifically excluded from use as the site character set, since they interfere with TWiki ML; however, many multi-byte character sets work fine, e.g. EUC-JP, GB2312, etc.

It's now possible to override the site character set defined in the $siteLocale setting in TWiki.cfg - this enables you to have a slightly different spelling of the character set in the server locale (e.g. 'eucjp') and the HTTP header sent to the browser (e.g. 'euc-jp').

This feature should also support use of Mozilla Browser with TWiki:Codev.TWikiOnMainframe (as long as mainframe web server can convert or pass through UTF-8 URLs) - however, this specific combination is not tested. Other browser-server combinations should not have any problems.

Please note that use of UTF-8 as the site character set is not yet supported - see Phase 2 of TWiki:Codev.ProposedUTF8SupportForI18N for plans and work to date in this area.

This feature is complete in TWiki releases newer than February 2004.

Note for skin developers: %INTURLENCODE% is no longer required (TWiki:Plugins.InternationalisingYourSkin).

Details of Implementation

URLs are not allowed to contain non-ASCII (8th bit set) characters: http://www.w3.org/TR/html4/appendix/notes.html#non-ascii-chars

The overall plan for UTF-8 support for TWiki is described in two phases in TWiki:/Codev.ProposedUTF8SupportForI18N - this page addresses the first phase, in which UTF-8 is supported for URLs only.

UTF-8 URL translation to virtually any character set is supported as of TWiki Release 01 Sep 2004, but full UTF-8 support (e.g. pages in UTF-8) is not supported yet - this will be phase 2.

The code automatically detects whether a URL is UTF-8 or not, taking care to avoid over-long and illegal UTF-8 encodings that could introduce TWiki:Codev.MajorSecurityProblemWithIncludeFileProcessing (tested against a comprehensive UTF-8 test file, which IE 5.5 fails quite dangerously, and Opera Browser passes). Any non-ASCII URLs that are not valid UTF-8 are then assumed to be directly URL-encoded as a single-byte or multi-byte character set (as now), e.g. EUC-JP.

The main point is that you can use TWiki with international characters in WikiWords without changing your browser setup from the default, and you can also still use TWiki using non-UTF-8 URLs. This works on any Perl version from 5.005_03 onwards and corresponds to Phase 1 of TWiki:Codev.ProposedUTF8SupportForI18N. You can have different users using different URL formats transparently on the same server.

UTF-8 URLs are automatically converted to the current $siteCharset (from the TWiki.cfg locale setting), using modules such as CPAN:Encode if needed.

TWiki generates the whole page in the site charset, e.g. ISO-8859-1 or EUC-JP, but the browser dynamically UTF-8 encodes the attachment's URL when it's used. Since Apache serves attachment downloads without TWiki being involved, TWiki's code can't do its UTF-8 decoding trick, so TWiki URL-encodes such URLs in ISO-8859-1 or whatever when generating the page, to bypass this URL encoding, ensuring that the URLs and filenames seen by Apache remain in the site charset.

TWiki:Codev.TWikiOnMainframe uses EBCDIC web servers that typically translate their output to ASCII, UTF-8 or ISO-8859-1 (and URLs in the other direction) since there are so few EBCDIC web browsers. Such web servers don't work with even ISO-8859-1 URLs if they are URL encoded, since the automated translation is bypassed for URL-encoded characters. For TWiki on Mainframe, TWiki assumes that the web server will automatically translate UTF-8 URLs into EBCDIC URLs, as long as URL encoding is turned off in TWiki pages.

Testing and Limitation

It should work with TWiki:Codev.TWikiOnMainframe. Tested with IE 5.5, Opera 7.11 and Mozilla (Firebird 0.7).

Opera Browser on the P800 smartphone is working for page viewing but leads to corrupt page names when editing pages.

For up to date information see TWiki:Codev.EncodeURLsWithUTF8

-- TWiki:Main.RichardDonkin - 7 Jan 2004
-- TWiki:Main.MattWilkie - 10 Aug 2004
-- TWiki:Main.PeterThoeny - 14 Aug 2004

Appendix A: TWiki Filesystem

Annotated directory and file listings, for the 01-Sep-2004 TWiki production release.

Who and What is This Good For?

Interested Users and Site Administrators can find out in simple terms what each part of TWiki actually does. Adventurous Adminstrators with server access to files (via telnet, ssh or ftp) can also figure out where to look to make minor modifications, like changing hardcode text or color. Software Developers can get an at-a-glance overview of TWiki code architecture.

Directory Structure

You can rename the root TWiki directory - twiki - to whatever you like by changing it in the TWiki.cfg configuration file. However, to keep the current installation and future upgrades simple, you should leave the five main subdirectories intact:

Directory: Files: Used for:
twiki list Start-up info
twiki/bin list Perl scripts
twiki/lib list Configuration file, main library, Perl system modules, Plugins directory
twiki/pub list Public files (eg: images) and FileAttachments and their RCS histories
twiki/data list Individual topics (page content) and their RCS histories
twiki/templates list HTML templates, used by TWiki scripts

File Descriptions

A rundown of the individual files included in the current distribution, organized by TWiki root directories.

Files in twiki

Application info and the current reference documentation. Full file list:

File Used for
index.html Links to launch TWiki after install and for files in this directory
license.txt GNU General Public License and TWiki-specific info
readme.txt General TWiki start-up info with relevant URLs
TWikiDocumentation.html All documentation packaged as a single page
TWikiHistory.html TWiki development timeline: versions, features, developers
TwikiUpgrade TWiki upgrade script (Beta state)

Files in twiki/bin

Perl CGI scripts. Full file list:

File: Used for:
.htaccess.txt Authentication. Rename to .htaccess and customize if used
attach Shows the attach file page (FileAttachment)
changes a simple WebChanges query
edit Edit a topic
geturl Fetch URL data
installpasswd Install new password by admin
mailnotify Script called by cron job to notify users of changes
manage Manage script to create new webs
oops Shows an OK or oops dialog
passwd Reset and change password
preview Preview topic after edit
rdiff See differences of topics
rdiffauth Copy of rdiff script (ideally a link). The .htaccess file sets this as requiring authorisation
register Register new users
rename Rename/move topics and move attachments
save Saves a topic, called by preview
search Displays search results
setlib.cfg Location of the TWiki libraries. Customize if needed
statistics Create statistics topic
testenv Test CGI environment variables
upload Does file upload (FileAttachment)
view View a topic (the script)
viewauth Copy of view script (ideally a link). The .htaccess file sets this as requiring authorisation
viewfile View a file attachment

Files under twiki/lib

The new lib/TWiki/Plugins directories contain configuration, library and function files, and TWikiPlugins. Full file list:

File: Used for:
TWiki.cfg Main configuration, used by TWiki.pm
TWiki.pm Main TWiki library
Algorithm/Diff.pm Diff library
Text/Diff.pm Diff library, used by TwikiUpgrade script
TWiki/Access.pm Access control
TWiki/Attach.pm Attachment handling
TWiki/Form.pm Form handling
TWiki/Func.pm Public functions that Plugins may use
TWiki/Meta.pm Meta data in topics
TWiki/Net.pm SMTP mail handling
TWiki/Plugins.pm Plugin handling
TWiki/Plugins/CommentPlugin.pm Plugin handling a comment box
TWiki/Plugins/CommentPlugin/Attrs.pm Supporting module for Comment Plugin
TWiki/Plugins/CommentPlugin/Comment.pm Supporting module for Comment Plugin
TWiki/Plugins/CommentPlugin/Templates.pm Supporting module for Comment Plugin
TWiki/Plugins/DefaultPlugin.pm Handles some legacy rules
TWiki/Plugins/EditTablePlugin.pm Plugin to edit tables
TWiki/Plugins/EmptyPlugin.pm Empty plugin, use to create your own
TWiki/Plugins/InterwikiPlugin.pm Use aliases as links for predefined URLs
TWiki/Plugins/RenderListPlugin.pm Plugin to render lists as nice trees
TWiki/Plugins/SlideShowPlugin.pm Plugin turning headings into slides
TWiki/Plugins/SmiliesPlugin.pm Plugin rendering smilies like :-)
TWiki/Plugins/SpreadSheetPlugin.pm Plugin resolving spreadsheet formulae
TWiki/Plugins/TablePlugin.pm Plugin to render tables nicely
TWiki/Prefs.pm Preferences handling
TWiki/Render.pm TWiki markup to HTML rendering
TWiki/Search.pm Search engine, used by TWiki.pm
TWiki/Store.pm Back-end storage, *.txt text file and *.txt,v RCS repository file handling
TWiki/Store/RcsFile.pm Generic file handling code, a class
TWiki/Store/RcsWrap.pm Wrappers around RCS executables, a class that inherits from RcsFile
TWiki/Store/RcsLite.pm A Perl RCS implemention, a class that inherits from RcsFile
TWiki/UI.pm User interface handling
TWiki/UI/Changes.pm Functionality of changes script
TWiki/UI/Edit.pm Functionality of edit script
TWiki/UI/Manage.pm Functionality of manage script
TWiki/UI/Oops.pm Functionality of oops script
TWiki/UI/Preview.pm Functionality of preview script
TWiki/UI/RDiff.pm Functionality of rdiff script
TWiki/UI/Save.pm Functionality of save script
TWiki/UI/Search.pm Functionality of search script
TWiki/UI/Statistics.pm Functionality of statistics script
TWiki/UI/Upload.pm Functionality of upload script
TWiki/UI/View.pm Functionality of view script
TWiki/UI/Viewfile.pm Functionality of viewfile script
TWiki/Upgrade/TWikiCfg.pm Supporting module of TwikiUpgrade script
TWiki/Upgrade/UpdateTopics.pm Supporting module of TwikiUpgrade script
TWiki/Upgrade/UpdateTopicsManualSymlinks.pm Supporting module of TwikiUpgrade script
TWiki/User.pm Abstraction package to allow plugable user authentication systems
TWiki/User/HtPasswdUser.pm Apache Htpasswd file implementation (the default)
TWiki/User/NoPasswdUser.pm simple, no users authentication (totally wiki)

Files under twiki/pub

The pub directory stores topic-related files, including images used by TWiki and FileAttachments. Attachments are stored in subdirectories created with the related topic name. You can also upload files directly for and link manually (but not through Attach) Partial file list:

File: Used for:
favicon.ico ICO file
wikiHome.gif GIF file
icn/_filetypes.txt Lookup table to translate file extension to file type
icn/bat.gif GIF file for file type
icn/bmp.gif GIF file for file type
... ...
TWiki/FileAttachment/Sample.txt TEXT file: sample
TWiki/FileAttachment/Smile.gif GIF image: sample
TWiki/FileAttachment/Smile.gif,v RCS repository for GIF file
TWiki/PreviewBackground/blankltgraybg.gif GIF image
TWiki/PreviewBackground/blankwhitebg.gif GIF image
TWiki/PreviewBackground/previewbg.gif GIF image: Preview view background
TWiki/PreviewBackground/preview2bg.gif GIF image: Alternate preview view background
TWiki/TWikiLogos/twikiRobot121x54.gif GIF image: TWiki logo
... ...
TWiki/TWikiTemplates/testscreen.gif GIF image: Screen shot
TWiki/WabiSabi/wabisabi.gif GIF image: illustration

Files under twiki/data

TWiki topics: data stored as individual text files and rendered by TWiki for display as regular Web pages. Each active web has its own subdirectory. The TWiki distribution includes a number of start-up webs - Main, TWiki, and Sandbox - with documentation and demo content, a Trash web for browser-based, recoverable topic deletion, and a _default directory containing a core topic set required to start a new web. Partial file list:

File: Used for:
.htpasswd Basic Authentication (htaccess) users file with username and encrypted password pairs
debug.txt Program-generated messages useful for debugging
mime.types Recognized file formats
warning.txt Diagnostic messages for identifying problems
_default/.changes Per web record of topic changes
_default/.mailnotify Per web timestamp of most recent email notification
_default/WebChanges.txt Display most recent topic changes in web
_default/WebChanges.txt,v Revisions history (RCS)
_default/WebHome.txt Default web home page
_default/WebHome.txt,v Revisions history (RCS)
_default/WebIndex.txt Lists all topics in a web
_default/WebIndex.txt,v Revisions history (RCS)
_default/WebLeftBar.txt Left navigation bar for PatternSkin
_default/WebLeftBar.txt,v Revisions history (RCS)
_default/WebNotify.txt Subscribe/unsubscribe to web changes email alert
_default/WebNotify.txt,v Revisions history (RCS)
_default/WebPreferences.txt Per web Preference Settings
_default/WebPreferences.txt,v Revisions history (RCS)
_default/WebSearch.txt Per web search options
_default/WebSearch.txt,v Revisions history (RCS)
_default/WebStatistics.txt Generates web usage statistics
_default/WebStatistics.txt,v Revisions history (RCS)
_default/WebTopicList.txt Lists all topics in a web in compact format
_default/WebTopicList.txt,v Revisions history (RCS)
... ...

Files in twiki/templates

Templates and skins used to control appearance of topics rendered as Web pages. Partial file list:

File: Used for:
attach.tmpl Attachment (FileAttachments) control screen
attachagain.tmpl Attachment control screen for updating an existing attachment
attachnew.tmpl Attachment control screen for adding a new attachment
attachtables.tmpl Macros for definition of attachment tables
changeform.tmpl Control screen to change the form in edit mode
changes.tmpl Displays list of recently changed topics
edit.iejs.tmpl Edit window with IE-specific JavaScript
edit.tmpl Main edit window
mailnotify.tmpl Email notification
moveattachment.tmpl Move attachment control screen
oopsaccesschange.tmpl Error message
oopsaccessgroup.tmpl Error message
oopsaccessmanage.tmpl Error message
oopsaccessrename.tmpl Error message
oopsaccessview.tmpl Error message
oopsattachnotopic.tmpl Error message
oopsauth.tmpl Error message
oopsbadcharset.tmpl Error message
oopsbadpwformat.tmpl Error message
oopschangepasswd.tmpl Error message
oopscreatenewtopic.tmpl Error message
oopsempty.tmpl Error message
oopslocked.tmpl Error message
oopslockedrename.tmpl Error message
oopsmanage.tmpl Error message
oopsmissing.tmpl Error message
oopsmngcreateweb.tmpl Error message
oopsmore.tmpl More topic actions message
oopsmoveerr.tmpl Error message
oopsnoformdef.tmpl Error message
oopsnotwikiuser.tmpl Error message
oopsnoweb.tmpl Error message
oopspreview.tmpl Error message
oopsregemail.tmpl Error message
oopsregexist.tmpl Error message
oopsregpasswd.tmpl Error message
oopsregrequ.tmpl Error message
oopsregthanks.tmpl Error message
oopsregwiki.tmpl Error message
oopsremoveuserdone.tmpl Error message
oopsrenameerr.tmpl Error message
oopsrenamenotwikiword.tmpl Error message
oopsresetpasswd.tmpl Error message
oopsrev.tmpl Error message
oopssave.tmpl Error message
oopssaveerr.tmpl Error message
oopssendmailerr.tmpl Error message
oopstopicexists.tmpl Error message
oopsupload.tmpl Error message
oopsuploadlimit.tmpl Error message
oopswrongpassword.tmpl Error message
preview.tmpl Preview Changes screen
rdiff.tmpl Displays text changes before & after Diffs
registernotify.tmpl Registration notification
rename.tmpl Rename/move control screen (choose web & new topic tile
renamebase.tmpl Used by other rename templates
renameconfirm.tmpl Confirms a pre-specified rename, ex: undoing a rename
renamedelete.tmpl Confirms a delete
renamerefs.tmpl Display if rename done, but some references not changed (topics were locked)
search.tmpl Search screen
searchbookview.tmpl Search results with full topic content
searchformat.tmpl Search screen for formatted search
searchmeta.tmpl Search screen
searchrenameview.tmpl Used by rename to list references to topic being renamed
twiki.tmpl Master template: definitions are used by other templates
view.plain.tmpl Skin for bare bone topic view without header/footer but with HTML head and body tags
view.print.tmpl Skin for printable topic view with a simple header/footer
view.rss.tmpl Skin for topic view in RDF XML format
view.text.tmpl Skin for topic text only, without HTML head and body tags, and no form and attachments
view.tmpl Main topic view - the standard regular Web page

TWiki File System Snapshot

The following partial directory listings from a Linux installation show typical file permissions and ownership. This is provided for general debugging use only and isn't an exact representation of the current distribution.

  • TIP On an ISP installation... The user and group - twiki twiki - will probably be your domain or login name, eg: yourdomain yourdomain and can't be changed; same for nobody nobody files further down. Also, in the bin directory, scripts might need a .cgi (sometimes .pl) extension.

Directory twiki/bin:

drwxrwxr-x    2 twiki   twiki        4096 May  9 00:08 .
drwxrwxr-x    5 twiki   twiki        4096 Nov 18  2002 ..
-rw-rw-r--    1 twiki   twiki        3145 Jul 25 00:31 .htaccess.txt
-rwxrwxr-x    1 twiki   twiki        1459 May 28 23:51 attach
-rwxrwxr-x    1 twiki   twiki        1721 May 28 23:51 changes
-rwxrwxr-x    1 twiki   twiki        1994 May 28 23:51 edit
-rwxrwxr-x    1 twiki   twiki        1878 May 28 23:51 geturl
-rwxrwxr-x    1 twiki   twiki        6689 May 28 23:51 installpasswd
-rwxrwxr-x    1 twiki   twiki        7313 May 28 23:51 mailnotify
-rwxrwxr-x    1 twiki   twiki        3557 Jul 25 15:00 manage
-rwxrwxr-x    1 twiki   twiki        1448 May 28 23:51 oops
-rwxrwxr-x    1 twiki   twiki        4062 May 28 23:51 passwd
-rwxrwxr-x    1 twiki   twiki        1506 May 28 23:51 preview
-rwxrwxr-x    2 twiki   twiki        1490 May 28 23:51 rdiff
-rwxrwxr-x    2 twiki   twiki        1490 May 28 23:51 rdiffauth
-rwxrwxr-x    1 twiki   twiki        7635 May 28 23:51 register
-rwxrwxr-x    1 twiki   twiki        1774 May 28 23:51 rename
-rwxrwxr-x    1 twiki   twiki        1654 Jul 25 00:31 save
-rwxrwxr-x    1 twiki   twiki        1728 May 28 23:51 search
-rw-rw-r--    1 twiki   twiki        2131 Aug  7 21:13 setlib.cfg
-rwxrwxr-x    1 twiki   twiki        2596 May 28 23:51 statistics
-rwxrwxr-x    1 twiki   twiki       39926 Jul 25 15:00 testenv
-rwxrwxr-x    1 twiki   twiki        1478 May 28 23:51 upload
-rwxrwxr-x    2 twiki   twiki        1689 May 28 23:51 view
-rwxrwxr-x    2 twiki   twiki        1689 May 28 23:51 viewauth
-rwxrwxr-x    1 twiki   twiki        1438 May 28 23:51 viewfile

Directory twiki/templates/:

drwxrwxr-x    2 twiki   twiki        4096 Aug  7 19:09 .
drwxrwxr-x    4 twiki   twiki        4096 Aug  7 21:13 ..
-rw-rw-r--    1 twiki   users        2077 Aug 13 22:21 attachagain.pattern.tmpl
-rw-rw-r--    1 twiki   users        1650 Aug 13 22:21 attachagain.tmpl
-rw-rw-r--    1 twiki   twiki        2556 Jul 27 10:47 attach.dragon.tmpl
-rw-rw-r--    1 twiki   users         567 Jul 28 19:52 attachnew.pattern.tmpl
-rw-rw-r--    1 twiki   users         470 Jul 28 19:52 attachnew.tmpl
-rw-rw-r--    1 twiki   users        2855 Aug  8 03:40 attach.pattern.tmpl
-rw-rw-r--    1 twiki   users        1991 Aug  3 13:09 attachtables.pattern.tmpl
-rw-rw-r--    1 twiki   users        1869 Jul 27 22:03 attachtables.tmpl
-rw-rw-r--    1 twiki   users        2355 Jul 28 19:52 attach.tmpl
-rw-rw-r--    1 twiki   twiki        1324 Jul 27 10:47 changeform.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        1441 Aug  6 11:47 changeform.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1032 Jul 28 19:52 changeform.tmpl
-rw-rw-r--    1 twiki   twiki        1870 Jul 27 10:47 changes.dragon.tmpl
-rw-rw-r--    1 twiki   twiki         433 Jul 31 12:39 changes.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1196 May 28 23:51 changes.tmpl
-rw-rw-r--    1 twiki   twiki          35 May 21 03:56 comments.tmpl
-rw-rw-r--    1 twiki   twiki         526 Jul 27 10:47 dragoncssvars.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        1645 Jul 31 00:57 dragonmenu.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        4207 Jul 27 10:47 edit.dragon.tmpl
-rw-rw-r--    1 twiki   twiki       12608 Jul 28 19:52 edit.iejs.tmpl
-rw-rw-r--    1 twiki   twiki        4904 Aug  7 17:48 edit.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        3975 Aug  8 03:40 edit.tmpl
-rw-rw-r--    1 twiki   twiki         993 May 28 23:51 mailnotify.tmpl
-rw-rw-r--    1 twiki   twiki        1640 Jul 27 10:47 moveattachment.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        1968 Aug  7 17:48 moveattachment.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1342 Jul 28 19:52 moveattachment.tmpl
-rw-rw-r--    1 twiki   twiki         571 May 28 23:51 oopsaccesschange.tmpl
-rw-rw-r--    1 twiki   twiki         587 May 28 23:51 oopsaccessgroup.tmpl
-rw-rw-r--    1 twiki   twiki         597 Aug  2 11:10 oopsaccessmanage.tmpl
-rw-rw-r--    1 twiki   twiki         572 May 28 23:51 oopsaccessrename.tmpl
-rw-rw-r--    1 twiki   twiki         574 May 28 23:51 oopsaccessview.tmpl
-rw-rw-r--    1 twiki   twiki         571 Aug  2 11:10 oopsattachnotopic.tmpl
-rw-rw-r--    1 twiki   twiki         998 May 28 23:51 oopsauth.tmpl
-rw-rw-r--    1 twiki   twiki         646 May 28 23:51 oopsbadcharset.tmpl
-rw-rw-r--    1 twiki   twiki         406 May 28 23:51 oopsbadpwformat.tmpl
-rw-rw-r--    1 twiki   twiki         345 May 28 23:51 oopschangepasswd.tmpl
-rw-rw-r--    1 twiki   twiki         382 May 28 23:51 oopscreatenewtopic.tmpl
-rw-rw-r--    1 twiki   twiki         627 Jul  7 23:11 oopsempty.tmpl
-rw-rw-r--    1 twiki   twiki         927 Aug  3 13:09 oopslocked.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         612 Aug  2 11:10 oopslockedrename.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         596 Aug  2 11:10 oopslockedrename.tmpl
-rw-rw-r--    1 twiki   twiki         910 Aug  3 13:09 oopslocked.tmpl
-rw-rw-r--    1 twiki   twiki         679 May 28 23:51 oopsmanage.tmpl
-rw-rw-r--    1 twiki   twiki         329 May 28 23:51 oopsmissing.tmpl
-rw-rw-r--    1 twiki   twiki        2353 May 28 23:51 oopsmngcreateweb.tmpl
-rw-rw-r--    1 twiki   twiki        2987 Aug  3 13:09 oopsmore.tmpl
-rw-rw-r--    1 twiki   twiki         418 May 28 23:51 oopsmoveerr.tmpl
-rw-rw-r--    1 twiki   twiki        1133 May 28 23:51 oopsnoformdef.tmpl
-rw-rw-r--    1 twiki   twiki         521 May 28 23:51 oopsnotwikiuser.tmpl
-rw-rw-r--    1 twiki   twiki        1516 Jul 28 19:52 oopsnoweb.tmpl
-rw-rw-r--    1 twiki   twiki         394 May 28 23:51 oopspreview.tmpl
-rw-rw-r--    1 twiki   twiki         341 May 28 23:51 oopsregemail.tmpl
-rw-rw-r--    1 twiki   twiki         411 May 28 23:51 oopsregerr.tmpl
-rw-rw-r--    1 twiki   twiki         476 May 28 23:51 oopsregexist.tmpl
-rw-rw-r--    1 twiki   twiki         346 May 28 23:51 oopsregpasswd.tmpl
-rw-rw-r--    1 twiki   twiki         357 May 28 23:51 oopsregrequ.tmpl
-rw-rw-r--    1 twiki   twiki         541 May 28 23:51 oopsregthanks.tmpl
-rw-rw-r--    1 twiki   twiki         680 May 28 23:51 oopsregwiki.tmpl
-rw-rw-r--    1 twiki   twiki         587 May 28 23:51 oopsremoveuserdone.tmpl
-rw-rw-r--    1 twiki   twiki         503 May 28 23:51 oopsrenameerr.tmpl
-rw-rw-r--    1 twiki   twiki         434 May 28 23:51 oopsrenamenotwikiword.tmpl
-rw-rw-r--    1 twiki   twiki         507 May 28 23:51 oopsresetpasswd.tmpl
-rw-rw-r--    1 twiki   twiki         962 Jul 28 19:52 oopsrev.tmpl
-rw-rw-r--    1 twiki   twiki         483 May 28 23:51 oopssaveerr.tmpl
-rw-rw-r--    1 twiki   twiki         777 Jul  7 23:11 oopssave.tmpl
-rw-rw-r--    1 twiki   twiki         466 May 28 23:51 oopssendmailerr.tmpl
-rw-rw-r--    1 twiki   twiki         385 May 28 23:51 oopstopicexists.tmpl
-rw-rw-r--    1 twiki   twiki         344 May 28 23:51 oopsuploadlimit.tmpl
-rw-rw-r--    1 twiki   twiki         343 May 28 23:51 oopsupload.tmpl
-rw-rw-r--    1 twiki   twiki         365 May 28 23:51 oopswrongpassword.tmpl
-rw-rw-r--    1 twiki   twiki        3590 Jul 27 10:47 preview.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        2855 Aug  6 11:47 preview.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        2253 Aug  8 03:40 preview.tmpl
-rw-rw-r--    1 twiki   twiki        1739 Jul 27 10:47 rdiff.dragon.tmpl
-rw-rw-r--    1 twiki   users        1529 Aug 13 22:21 rdiff.pattern.tmpl
-rw-rw-r--    1 twiki   users        1299 May 28 23:51 rdiff.tmpl
-rw-rw-r--    1 twiki   twiki        1159 Jul 31 12:39 registernotify.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1160 May 28 23:51 registernotify.tmpl
-rw-rw-r--    1 twiki   twiki        2561 Jul 27 10:47 renamebase.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        3363 Aug  8 03:40 renamebase.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        2279 Jul 28 20:54 renamebase.tmpl
-rw-rw-r--    1 twiki   twiki         718 Jul 31 12:39 renameconfirm.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         570 Jul 28 19:52 renameconfirm.tmpl
-rw-rw-r--    1 twiki   twiki        1046 Jul 31 12:39 renamedelete.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         932 Jul 28 19:52 renamedelete.tmpl
-rw-rw-r--    1 twiki   twiki        1147 Jul 31 12:39 rename.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         766 Jul 28 19:52 renamerefs.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         616 Jul 28 19:52 renamerefs.tmpl
-rw-rw-r--    1 twiki   twiki        1041 Jul 28 19:52 rename.tmpl
-rw-rw-r--    1 twiki   twiki        1397 Jul 27 10:47 searchbookview.dragon.tmpl
-rw-rw-r--    1 twiki   twiki         723 Jul 31 12:39 searchbookview.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1230 May 28 23:51 searchbookview.tmpl
-rw-rw-r--    1 twiki   twiki        1705 Jul 27 10:47 search.dragon.tmpl
-rw-rw-r--    1 twiki   twiki         722 Jul 27 10:47 searchformat.dragon.tmpl
-rw-rw-r--    1 twiki   twiki         157 Jul 31 12:39 searchformat.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         529 May 28 23:51 searchformat.tmpl
-rw-rw-r--    1 twiki   twiki         149 Jul  7 23:03 searchmeta.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         149 May 28 23:51 searchmeta.tmpl
-rw-rw-r--    1 twiki   twiki        1638 Aug  7 17:48 search.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1892 Jul 27 10:47 searchrenameview.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        1208 Aug  3 13:09 searchrenameview.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        1615 May 28 23:51 searchrenameview.tmpl
-rw-rw-r--    1 twiki   twiki        1364 May 28 23:51 search.tmpl
-rw-rw-r--    1 twiki   twiki        3836 Jul 27 10:47 twiki.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        3175 Aug  7 17:48 twiki.pattern.tmpl
-rw-rw-r--    1 twiki   twiki        2798 Jul 27 22:57 twiki.tmpl
-rw-rw-r--    1 twiki   twiki        1324 Jul 27 10:47 view.dragon.tmpl
-rw-rw-r--    1 twiki   twiki        3577 Aug  8 03:40 view.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         425 May 28 23:51 view.plain.tmpl
-rw-rw-r--    1 twiki   twiki        1056 Jul 31 12:39 view.print.pattern.tmpl
-rw-rw-r--    1 twiki   twiki         845 May 28 23:51 view.print.tmpl
-rw-rw-r--    1 twiki   twiki         300 May 28 23:51 view.rss.tmpl
-rw-rw-r--    1 twiki   twiki           8 May 28 23:51 view.text.tmpl
-rw-rw-r--    1 twiki   twiki        1281 Jul 31 12:39 view.tmpl

Directory twiki/data/:

drwxrwxr-x    7 nobody  twiki        4096 Aug  7 21:13 .
drwxrwxr-x    4 twiki   twiki        4096 Aug  7 21:13 ..
-rw-rw-rw-    1 twiki   twiki           0 Feb  1  2003 debug.txt
drwxrwxr-x    2 nobody  twiki        4096 Jul 16 00:36 _default
-rw-rw-r--    1 twiki   twiki          25 Dec 16  2003 .htpasswd.txt
-rw-rw-r--    1 nobody  nobody      11811 Aug 13 23:10 log200408.txt
drwxrwxr-x    2 nobody  twiki        4096 Aug  4 21:03 Main
-rw-rw-r--    1 twiki   twiki        3419 Aug 13  2001 mime.types
drwxrwxr-x    2 nobody  twiki        4096 Aug  7 21:03 Sandbox
drwxrwxr-x    2 nobody  twiki        4096 Jul 20 18:15 Trash
drwxrwxr-x    2 nobody  twiki       12288 Aug 13 23:10 TWiki
-rw-rw-rw-    1 twiki   twiki           0 Aug  7 18:03 warning.txt

Partial file list for twiki/data/Main:

  • TIP Included files come with their RCS versions histories .txt,v.

drwxrwxr-x    2 nobody  twiki        4096 Aug  4 21:03 .
drwxrwxr-x    7 nobody  twiki        4096 Aug  7 21:13 ..
-rw-rw-rw-    1 twiki   twiki        3743 Aug  4 21:03 .changes
-rw-rw-rw-    1 twiki   twiki           9 Oct 25  2001 .mailnotify
-rw-r--r--    1 nobody  nobody        518 Dec 16  2003 TWikiAdminGroup.txt
-r--r--r--    1 nobody  nobody       2453 Dec 16  2003 TWikiAdminGroup.txt,v
-rw-r--r--    1 nobody  nobody       1668 Aug  4 21:03 TWikiGroups.txt
-r--r--r--    1 nobody  nobody       3421 Aug  4 21:03 TWikiGroups.txt,v
-rw-r--r--    1 nobody  nobody        686 Dec 13  2000 TWikiGuest.txt
-rw-r--r--    1 nobody  nobody       1995 Dec 13  2000 TWikiGuest.txt,v
-rw-r--r--    1 nobody  nobody        319 Dec 20  2003 TWikiPreferences.txt
-r--r--r--    1 nobody  nobody        508 Dec 20  2003 TWikiPreferences.txt,v
-rw-r--r--    1 nobody  nobody       1812 Feb 20 13:54 TWikiUsers.txt
-r--r--r--    1 nobody  nobody       9222 Feb 20 13:54 TWikiUsers.txt,v
-rw-r--r--    1 nobody  nobody        119 Jan 11  2003 TWikiVariables.txt
-r--r--r--    1 nobody  nobody        742 Jan 11  2003 TWikiVariables.txt,v
-rw-r--r--    1 nobody  nobody        124 Aug 16  2001 WebChanges.txt
-r--r--r--    1 nobody  nobody        526 Aug 16  2001 WebChanges.txt,v
-rw-r--r--    1 nobody  nobody       1842 Feb  1  2003 WebHome.txt
-r--r--r--    1 nobody  nobody      11862 Feb  1  2003 WebHome.txt,v
-rw-r--r--    1 nobody  nobody        176 Nov 24  2001 WebIndex.txt
-r--r--r--    1 nobody  nobody        483 Nov 24  2001 WebIndex.txt,v
-rw-r--r--    1 nobody  nobody        922 Feb  3  2003 WebNotify.txt
-r--r--r--    1 nobody  nobody       4303 Feb  3  2003 WebNotify.txt,v
-rw-r--r--    1 nobody  nobody       3738 Dec 25  2003 WebPreferences.txt
-r--r--r--    1 nobody  nobody      10697 Dec 25  2003 WebPreferences.txt,v
-rw-r--r--    1 nobody  nobody        416 Jan 30  2003 WebRss.txt
-r--r--r--    1 nobody  nobody        605 Jan 30  2003 WebRss.txt,v
-rw-r--r--    1 nobody  nobody        164 Jan 18  2004 WebSearchAdvanced.txt
-r--r--r--    1 nobody  nobody        353 Jan 18  2004 WebSearchAdvanced.txt,v
-rw-r--r--    1 nobody  nobody        158 Aug  7  2001 WebSearch.txt
-r--r--r--    1 nobody  nobody      18332 Aug  7  2001 WebSearch.txt,v
-rw-r--r--    1 nobody  nobody        825 Jul 16 00:32 WebStatistics.txt
-r--r--r--    1 nobody  nobody       4226 Jul 16 00:32 WebStatistics.txt,v
-rw-r--r--    1 nobody  nobody        182 Nov 24  2001 WebTopicList.txt
-r--r--r--    1 nobody  nobody        371 Nov 24  2001 WebTopicList.txt,v

Directory twiki/pub/:

drwxrwxr-x    8 nobody  nobody       4096 Nov 18 12:31 .
drwxrwxr-x    3 twiki   twiki        4096 Nov 18 12:31 ..
drwxrwxr-x    2 nobody  nobody       4096 Apr  7  2002 Main
drwxrwxr-x    2 nobody  nobody       4096 Apr 20  2002 Sandbox
drwxrwxr-x    8 nobody  nobody       4096 Nov 18 12:31 TWiki
drwxrwxr-x    2 nobody  nobody       4096 Dec  3  2001 Trash
-rw-rw-r--    1 twiki   twiki        1078 Jan 14  2000 favicon.ico
drwxrwxr-x    2 twiki   twiki        4096 Nov 18 12:31 icn
-rw-rw-r--    1 twiki   twiki        2877 Jun  7  1999 wikiHome.gif

Partial file list for twiki/pub/icn/:

drwxrwxr-x    2 twiki   twiki        4096 Nov 18 12:31 .
drwxrwxr-x    8 nobody  nobody       4096 Nov 18 12:31 ..
-rw-rw-r--    1 twiki   twiki         801 Mar 26  1999 _filetypes.txt
-rw-rw-r--    1 twiki   twiki         143 Mar  9  1999 bat.gif
-rw-rw-r--    1 twiki   twiki         926 Mar  9  1999 bmp.gif
-rw-rw-r--    1 twiki   twiki         141 Mar 25  1999 c.gif
-rw-rw-r--    1 twiki   twiki         144 Mar  9  1999 dll.gif
-rw-rw-r--    1 twiki   twiki         152 Mar  9  1999 doc.gif

Directory twiki/pub/TWiki:

drwxrwx--x    8 nobody  nobody       4096 Nov 18 12:31 .
drwxrwxr-x    8 nobody  nobody       4096 Nov 18 12:31 ..
drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 FileAttachment
drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 PreviewBackground
drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 TWikiDocGraphics
drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 TWikiLogos
drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 TWikiTemplates
drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 WabiSabi

Directory twiki/pub/TWiki/FileAttachment:

drwxrwxr-x    2 nobody  nobody       4096 Nov 18 12:31 .
drwxrwx--x    8 nobody  nobody       4096 Nov 18 12:31 ..
-rw-rw-r--    1 nobody  nobody         30 Jul 22  1999 Sample.txt
-rw-rw-r--    1 nobody  nobody         94 Jun  7  1999 Smile.gif
-r--r--r--    1 nobody  nobody         81 Aug 15 10:14 Smile.gif,v

-- TWiki:Main.PeterThoeny - 29 Aug 2004
-- TWiki:Main.MikeMannix - 16 May 2002
-- TWiki:Main.ArthurClemens - 08 Aug 2004

BookView is an option available from the WebSearch topic. It allows you to display the result in "book view", that is, the whole content of topics is shown instead of a topic summary. This allows you to easily see a whole set of pages, which is useful for printing.
Building a project team.

A man named Allen Fahden have studied how to make efficient project teams.

Project teams made by the method he has found is 300-800 % more efficient then project teams made at random.

Basically he has found 4 kind of work included in project work. And the trick is to find out witch team member is best to what kind of work, and then make sure that he make mostly that kind of work.

Let the 4 kind of work relate to 4 types of roles. Called Hares, Owls, Turtles, Squirrels and your find out witch type your are by taking the HOTS Survey.

  • HareRoles are good at generating ideas and find creative solutions to problems.
  • OwlRoles are good at prioritize and plan strategies.
  • TurtleRoles are good at finding problems with ideas and strategies.
  • SquirrelRoles are methodical and detail-oriented and good at implementing the ideas.

HOTS Speed Meeting

A HOTS Speed Meeting is a kind for brainstorming session. It uses the HOTS model to make a more focused brainstorming by making the different type contribute where they are best.

  1. Hares, Owls and Turtles are in the meeting room: All are generating a lot of ideas. In this phase it is forbidden to criticize any of the ideas.
  2. Owls are in the meeting room: Owls make a prioritised list of ideas to continue to work on.
  3. Turtles, Squirrels and Owls are in the meeting room: Turtles and Squirrels start too find problems with the ideas or obstacles to successful implementation. If there is no problems or obstacles goto step 5.
  4. Hares and Owls are in the meeting room: Hares start generating new ideas too overcome the problems and obstacles. Goto step 3.
  5. All are in the meeting room: All plan launch for fast Squirrel implementation.

After step 5 Squirrels start to implement the plan.

Out delegating work

How does one use the HOTS model in the daily work? Simply classify the work your find boring as Hare,Turtle,Owl or Squirrel work. And then out delegate to persons of that role. By doing this, work are moved from people that find it boring to people that find it interesting.

This result in that all people are doing the more of the kind of work that they like, and that result in them being more productive.

Further reading.

-- SvendSrensen - 14 Dec 2005

BumpyWord (01 Jul 2000 - 06:18 - NEW - KevinKinnell?)

Cache Chooser Add-On

  • creates cache from Topics and decides, if a Topic needs to be rerendered. TWiki users can have an influence on the caching time. CacheChooserAddOn takes account to TWikis content security.

Usage

  • After installation invisible for TWiki users.
  • Users may need to use a refresh button to rerender a Topic with content genereated by variables.
  • Users may set the NOCACHE variable to refuse caching of topics with no static content.
  • User can set the timeout of a page to be automatically be rerendered after time T.

How does it work

  • The chooser decides by the following facts, when to render a Topic to cache:
    • date of original Topic file is newer than file in cache
    • in Topic DENYTOPICVIEW or ALLOWTOPICVIEW are empty
    • in WebPreferences of a web, DENYWEBVIEW and ALLOWWEBVIEW are empty.
    • the NOCACHE variable is NOT set, neither in the Topic nor in WebPreferences
    • the CACHE variable is set with a value.
    • No QUERY_STRING options are specified, excepting ?skin=plain

Advantages - Disadvantages - When better not using caching

  • Caching is ideal for static content
  • In all other Topics and Webs which contain content that is generated by variables from actual TWiki content and require to be most actuell, caching shoud be disabled by setting the NOCACHE variable or at least set a short refresh-time with the CACHE variable.
  • Caching cannot and is not supported when User Authentication is used by restricting viewing Topics or Webs.
  • Caching is not supported, when QUERY_STRING options are specified to avoid conficts.

Speed Advantages

Time Experiment
40 ms cached Topic with no CACHE or NOCACHE variables in
76 ms cached Topic with CACHE or NOCACHE variables in
3358 ms rerended Topic with cache chooser
3276 ms directly rendered Topic without cache chooser
82 ms overhead through cache chooser programm

The measurement was done on a 700 MHz PC. In fact the little overhead of about 80 ms when rendering via the cache chooser does really not take much into account of the over 3 seconds rendering time, while the speed of Topics from cache is relatively really fast, especially for Topics which need not processed for variables again.

Stop Caching of a Topic or Web

  • For a Topic:
    • include the exact string: Set NOCACHE somewhere in the document.
    • You may hide it by <!-- Set NOCACHE -->
  • For a entire Web:
    • include the exact string: Set NOCACHE in the WebPreferences of that web.

Forcing Caching of a Topic in a Non-Cached Web

  • Include in the Topic:
    • Set CACHE = cache
That overwrites the NOCACHE variable in the Web, but will not overwrite User Authentication.

Cache Timeout of Topics

  • To define in WebPrefrerences in each Web
  • To define in each Topic
  • Order is: Topic beats Web

If the CACHE variable has a time information included instead of the word cache, it will rerender the Topic after timeout is reached. The format includes one string after the equal sign that has to be separated by one space on each sides! The format includes m=minutes, h=hours, d=days, w=weeks and M=months. Several time settings can be set together and are separated by " - " to build up one string! The letters follow directly after the number of time. Examples:

  • Set CACHE = 1d
  • Set CACHE = 5d-2w
  • Set CACHE = 1h-30m
  • Set CACHE = 1M-2w-5d-6h-3m

There are limitations in specifiable numbers:

  • m = 1-59
  • h = 1-29
  • d = 1-6
  • w = 1-9
  • M = 1-19

Especially for the CalendarPlugin? the option daily will cause the Topic rerendered for the actual day to display the calendar properly, so set:

  • Set CACHE = daily

User Authentication

  • Due to security reasons, caching is disabled, when User Authentication is used in a Web or Topic.
  • When in a Topic Set ALLOWTOPICVIEW = Main. ... or Set DENYTOPICVIEW = Main. ... is set or
  • when in the the WebPreferences of a web Set ALLOWWEBVIEW = Main. ... or Set DENYWEBVIEW = Main. ... is set, followed by a user or group, caching is disabled. If activated later, the copy in the cache will be removed.
  • Attention! TIP: Be aware to keep the exact syntax as above! There has to be exact one space before and after the equal sign, otherwise Security may fail!
    • Wrong would be Set ALLOWTOPICVIEW =Main.TWikiGuest
    • Correct is: Set ALLOWTOPICVIEW = TWikiGuest

Add-On Installation Instructions

Note: You do not need to install anything on the browser to use this add-on. The following instructions are for the administrator who installs the add-on on the server where TWiki is running.

  • Download CacheChooserAddOn.zip ZIP file from TWiki:Plugins.CacheChooserAddOn
  • Unzip CacheChooserAddOn.zip in your twiki installation directory. Content:
    File: Description:
    data/TWiki/CacheChooserAddOn.txt Add-on topic
    data/TWiki/CacheChooserAddOn.txt,v Add-on topic repository
    bin/cache Add-on script
    bin/render original view script
    bin/view link to cache
    bin/refresh link to cache
    cache/.htcacherr.log log file of wrong CACHE variable entries
  • Installationsteps:
    • copy cache to TWiki bin/
    • mv view to render
    • ln -s cache view
    • ln -s cache refresh
    • mkdir cache in TWiki directory, if web-server has no writing permissions there.
    • Add in your TWiki-skin a refresh button, e.g.:
    • Change /your/twiki/template/view.tmpl to have a refresh function, e.g. next to the the "More" link:
      %TMPL:P{"sep"}% <a href="%SCRIPTURLPATH%/refresh%SCRIPTSUFFIX%/%WEB%/%TOPIC%">Refresh</a>
    • Update TIP: 302 Moved messages cause wrong Localisation redirect, when view script is called with different name. Workaround is to use the ?refresh=cache option instead of the link refresh for the refresh button, e.g.: %TMPL:P{"sep"}% <a href="%SCRIPTURLPATH%/view%SCRIPTSUFFIX%/%WEB%/%TOPIC%?refresh=cache">Refresh</a>

  • Test if the installation was successful:
    • open Topics in your TWiki web and check, if directory tree and Topic-cache pages are created in the cache directory.
  • Protect cache dir in httpd.conf or with .htaccess by deny from all

Add-On Info

Add-on Author: TWiki:Main/JensRoeder
Add-on Version: 30 Mar 2005 (v1.000)
Change History:  
30 Mar 2005: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.005
License: GPL
Add-on Home: http://TWiki.org/cgi-bin/view/Plugins/CacheChooserAddOn
Feedback: http://TWiki.org/cgi-bin/view/Plugins/CacheChooserAddOnDev
Appraisal: http://TWiki.org/cgi-bin/view/Plugins/CacheChooserAddOnAppraisal

Related Topic: TWikiAddOns?

-- TWiki:Main/JensRoeder - 30 Mar 2005

CaptchaPlugin (03 Aug 2006 - 10:19 - r1.7 - KoenMartens?)

CaptchaPlugin

Plugin for visual confirmation of new user registration, to prevent automated scripts to create users and spam your wiki with their url's to get a better google ranking.


Syntax Rules

* The tag %CAPTCHAURL% expands to the url of the image containing the scrambled text; * The tag %CAPTCHAHASH% expands to the hash matching the image.

Examples

* N/A

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %INTERWIKIPLUGIN_SHORTDESCRIPTION%

* One line description, is shown in the TextFormattingRules topic: * Set SHORTDESCRIPTION = Plugin for Captcha verification / visual confirmation of new user registration.

* Debug plugin: (See output in data/debug.txt) * Set DEBUG = 1

* Custom settings (defaults shown): * Characters to use in generated strings: * Set CHARACTERS = ABCDEFGHKLMNPRSTVWXYZabcdeghpqsuvwxy@ * Truetype font to use (place the font in $prefix/pub/TWiki/CaptchaPlugin, good source of apparently free fonts is http://www.webpagepublicity.com/free-fonts.html): * Set FONT = TahomaBold?.ttf * Number of random lines to add (use none for 0): * Set LINES = 10 * Number of random circles to add (use none for 0): * Set CIRCLES = 10 * Noise, percentage of pixels to flip randomly after generating graphics (use none for 0%): * Set NOISE = 12

Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running.

* Download the ZIP file from the Plugin web (see below) * Unzip CaptchaPlugin.zip in your twiki installation directory. Content:

File: Description:
data/TWiki/CaptchaPlugin.txt Plugin topic
data/TWiki/CaptchaPlugin.txt,v Plugin topic repository
register.patch Patch for the register module
templates/oopscaptcha.tmpl Error template
lib/TWiki/Plugins/CaptchaPlugin.pm Plugin Perl module
pub/TWiki/CaptchaPlugin/TahomaBold.ttf Default font
pub/TWiki/CaptchaPlugin/_db Hash database directory
pub/TWiki/CaptchaPlugin/_img Image directory
* Apply the patch register.patch to lib/TWiki/UI/Register.pm (alternatively, patch Register.pm manually, see section below), be sure to make a backup so you can revert the patch if you want to disable the plugin: * cd /path/to/twiki * cp lib/TWiki/UI/Register.pm lib/TWiki/UI/Register.pm.dist * patch < ../register.patch * Restrict access to the database files, for example, by including the following in your httpd.conf:
         <Directory "/path/to/twiki/pub/TWiki/CaptchaPlugin/_db">
           deny from all
         </Directory>
* Make sure the plugin has access to the preferred truetype font, by putting the .ttf file in pub/TWiki/CaptchaPlugin/ * Test if the installation was successful: * Create a topic containing <IMG SRC="%CAPTCHAURL%"> and %CAPTCHAHASH% * When loading this topic you should see an obfuscated character string loaded as a png and a hexadecimal hash. * Check whether the hash database is properly protected by going to the url http://my.twiki.server/my/twiki/path/pub/TWiki/CaptchaPlugin/db/hashes.pag, you should see a permission denied message. * Now edit your TWikiRegistration topic * Display the image %CAPTCHAURL% somewhere in your form, along with a text instructing new users to copy the obfuscated text into the appropriate text input. * Add the appropriate text input as Twk1CaptchaString * Add a hidden input as Twk1CaptchaHash having as value %CAPTCHAHASH% * For example, add this to your TWikiRegistration:
            <tr>
              <td valign="top" align="right"><IMG SRC="%CAPTCHAURL%">: <br /> (..)   </td>
              <td><input type="hidden" name="Twk1CaptchaHash" value="%CAPTCHAHASH%">
                  <input type="text" name="Twk1CaptchaString" size="5"></td>  =<font color="red">**</font>=
            </tr>
* That's it.

Manually patching the register binary

Find these lines in lib/TWiki/UI/Register.pm:

 }
 
 # generate user entry

Insert the code below directly BEFORE the line containing the curly bracket '{':

    # check captcha
    my %database;
    my $vcHash=$data->{CaptchaHash};
    my $vcTxt=$data->{CaptchaString};
    open(LOCKFILE,">".&TWiki::Func::getPubDir()."/TWiki/CaptchaPlugin/_db/hashes.lock");
    flock(LOCKFILE,2);

    dbmopen(%database, &TWiki::Func::getPubDir()."/TWiki/CaptchaPlugin/_db/hashes" ,0644);

    if(!defined($database{$vcHash})) {
        throw TWiki::OopsException( 'captcha',
                                    web => $data->{webName},
                                    topic => $topic,
                                    def => 'expired_vchash',
                                    params => [ "expired" ] );
    }

    my ($time,$txt)=split(',',$database{$vcHash});

    if(not(lc($txt) eq lc($vcTxt))) {
        throw TWiki::OopsException( 'captcha',
                                    web => $data->{webName},
                                    topic => $topic,
                                    def => 'invalid_vcstr',
                                    params => [ "wrong" ] );
    }

    dbmclose(%database);

    close(LOCKFILE);

Further Development

* Make number of characters configurable * Make font size configurable * Find out how to safely delete images from the register binary

Plugin Info

Plugin Author: TWiki:Main.KoenMartens
Plugin Version: 03 Aug 2006 (V1.2)
Change History:  
07 Oct 2005: Initial version
10 Oct 2005: Strip hash and text from arguments to register binary, or they will end up in the newly created user topic.
03 Jan 2006: Fixed some problems with expiry, also optimised according to TWiki:TWiki.TWikiPlugins#FastPluginHints.
03 Aug 2006: Renamed to CaptchaPlugin, adapted to Dakar (TWiki 4.0.x).
TWiki Dependency: $TWiki::Plugins::VERSION 1.1
CPAN Dependencies: GD, Digest::MD5
Other Dependencies: none
Perl Version: 5.005
License: GPL (GNU General Public License)
TWiki:Plugins/Benchmark: GoodStyle 98%, FormattedSearch 98%, TWikiRegistration (patched) 85%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/CaptchaPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/CaptchaPluginDev
Appraisal: http://TWiki.org/cgi-bin/view/Plugins/CaptchaPluginAppraisal

Related Topics: TWikiPreferences, TWikiPlugins

-- TWiki:Main.KoenMartens - 03 Aug 2006

Change password

Forgot your old password? Then use ResetPassword instead. Please only use ResetPassword in case you really forgot your password. Thank you.

Your WikiName: **
Old password: **
New password: **
Retype new password: **
     (Fields marked ** are required)

After submitting this form your password will be changed.

If you have questions please contact the TWiki webmaster A.Bowyer@bath.ac.uk.

Note to administrator: The change password form applies only if TWiki uses Basic Authentication, e.g. a .htpassword file managed by TWiki. It does not apply if you are using external authentication, such as an IT managed password system. (remove this note if you are using Basic Authentication; else replace this topic with a note describing how to change the password in your organization)

Classic Skin

The classic TWiki skin is a bare bone and functional skin, supporting any browser, and has a minimum of graphics

This is not really a skin. It is the set of default templates, shown if no skin is activated. The default templates are part of every TWiki distribution.

Skin Info

Description: The classic TWiki skin, bare bone and functional, for any browser, with a minimum of graphics
Screenshot: Click for full screen image
Base Name: classic
Skin Author: TWiki:Main/PeterThoeny
Skin Version: 25 Jul 2004 (v1.000)
Change History:  
25 Jul 2004: Initial version (v1.000)
Dependencies:  
Skin Home: http://TWiki.org/cgi-bin/view/Plugins/ClassicSkin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/ClassicSkinDev

Note: The Description, Screenshot and Base Name rows are needed by the TWikiSkinBrowser

Related topic: TWikiSkins, TWikiSkinBrowser

-- TWiki:Main/PeterThoeny - 25 Jul 2004

Comment Plugin

This plugin allows users to quickly post comments to a page without an edit/preview/save cycle.

( Discussion in TWiki:Plugins/CommentPluginDev )

Features

Inserts an edit box into the page that allows users to type in and save comments. Comments can be made

  • in different formats (as defined by a template),
  • in both forward and reverse chronological order,
  • signed or unsigned, dated or undated (as defined by a template),
  • in other topics, or other positions within the current topic.

Syntax Rules

Write the command %COMMENT{ attributes }% anywhere in a TWiki topic. %COMMENT% is also legal.

The following attributes are recognised

Name Description
type (Required) This is the name of the template to use for this comment. Comment templates are defined in a TWiki template - see Customisation, below. If this attribute is not defined, the type is whatever is defined by COMMENTPLUGIN_DEFAULT_TYPE, either in this topic or in your WebPreferences. By default this is 'below'.
target Name of the topic to add the comment to. Defaults to the current topic.
location Regular expression specifying the comment location in the target topic. Read carefully below!
mode For compatability with older versions only, synonymous with type
nonotify Set to "on" to disable change notification for target topics

Positioning the comment

%COMMENT supports several ways to specify where a comment should be inserted in the target topic. This is referred to as the location of the comment.

Location relative to %COMMENT tag

The default location is the %COMMENT tag itself. For example:
%COMMENT{type="below"}%
will add comments in the current topic, directly below the %COMMENT tag.

Location relative to a TWiki anchor

The target attribute may specify a web, and may also specify an anchor within the target topic; for example,
%COMMENT{type="above" target="%MAINWEB%.PersonalRemarks#InsertHere"}%
This uses a standard TWiki in-topic anchor as the insertion location. See TextFormattingRules for more about TWiki anchors.

Location relative to an arbitrary text string

Getting more sophisticated, you can also specify a regular expression for the target location using the location parameter. The target topic is searched for the regular expression, and the comment inserted relative to the string that the search matched. For example,
%COMMENT{type="above" location="Flights of Fancy"}%
will place comments above the first occurence of the string Flights of Fancy in the current topic.

Warning of course, if a user's comment contains the string "Flights of Fancy" they may and up changing the location for the next comment! Also, if you use a tag in the location, then you've just inserted another tag in the page that contains the %COMMENT! So be very careful how you specify the RE for location. Note that the RE is matched using perl "multiple line" mode, so ^ and $ match the start of a line and the end of a line respectively.

If you specify an anchor and a location, the anchor will be ignored.

Default templates

A set of default comment templates are shipped with the plugin. These are:
Template type Description
top Comments, signed and dated, added at top of the topic (the anchor is ignored)
bottom Comments, signed and dated, added at end of the target topic (the anchor is ignored)
above Comments, signed and dated, added immediately before the target anchor, or the %COMMENT if no anchor is specified
below Comments, signed and dated, added immediately below the target anchor, or the %COMMENT if no anchor is specified
tableprepend Comments, signed and dated, formatted as an HTML table row, added below the anchor (which must be in an HTML <table>)
tableappend Comments, signed and dated, formatted as an HTML table row, added above the anchor (which must be in an HTML <table>)

Your local installation may add more template types as well - see Customisation, below.

Customisation

Customisation of the comment plugin requires

The plugin picks up its templates from a standard TWiki template file, named "comments". This allows different templates to be defined for different TWiki skins. This template file may include other template files, or may include a topic from a user web (this is an extension to the normal handling of %TMPL:INCLUDE described in the documentation). The shipped plugin defines default templates in comments.tmpl and then includes the topic CommentsTmpl. If you want to define your own templates, add them to UserTemplates?. Note that you can use %TMPL:INCLUDE in this file to include other files of templates. Note also that if you want to override any of the default templates shipped with the plugin, you can simply do so by defining them in UserTemplates?, and they will replace the installed versions.

To define a comment type, you have to provide two simple template definitions in the template file; one for the prompt box, and one for the generated output. If we have a template type "mytype", these are named PROMPT:mytype and OUTPUT:mytype respectively. See comments.tmpl in the templates directory for examples.

The PROMPT template

The PROMPT template defines the contents of an HTML form that is used to capture the comment. This form invokes the comment generator when submitted. Parameters to the comment generator are defined using standard HTML input fields, such as input, textarea and select. The user enters values for these parameters, and these are then available when the OUTPUT template is expanded, in the form of %URLPARAM%s.

Only the input fields of the form need be defined. The plugin automatically generates the >form< and &gt:/form< tags. Note that you must define a "submit" button if you want the form to work!

If an attribute is given to the %COMMENT tag that is not one of the standard attributes, then that attribute is taken as the name of a parameter to be expanded in the PROMPT template. Expressions in the template of the form %param|default% (e.g. %rows|3%, %button|Push me%) are expanded to the values given in the %COMMENT. For example, if the PROMPT template 'example' contains:

<textarea rows=%rows|3% cols="%cols|50%" value="%tval|Rubbish%">
and the %COMMENT tag is:
%COMMENT{type="example" rows="5" cols="20"}%
then the template will be expanded as
<textarea rows=5 cols="20" value="Rubbish">

As well as support for all the usual TWiki variables in templates, the following special variables are supported in the PROMPT definition:

Variable Description
%MESSAGE% A helpful generated message, either a lock message or a reminder to refresh.
%DISABLED% Set to 'disabled' when you cannot comment (see Important Note regarding Locks, below).

The OUTPUT template

The OUTPUT template defines the format for the text that actually gets embedded into the topic. All the usual TWiki variables are available in the PROMPT definition, but note that they get expanded when the comment is inserted in the text, so time, date and username will refer to the time and date when the comment was made and the user who made it.

There are also four position tags that are used to indicate where the comment should be placed, relative to the location defined in the %COMMENT tag:

%POS:TOP% If present, comments will be inserted at the top of the topic i.e. before any other text
%POS:BOTTOM% If present, comments will be inserted at the end of the topic i.e. after all existing text
%POS:BEFORE% If present, comments will be inserted immediately before the %COMMENT% tag
%POS:AFTER% If present, comments will be inserted immediately after the %COMMENT% tag
Note that these position tags are obviously mutually exclusive. If you define more than one, the result is undefined. If none is present, the default is taken from the plugin setting DEFAULT_TYPE

Important Note regarding Locks

The plugin checks if the page is locked for edit. When a locked page is displayed in 'view' mode, comment input is automatically disabled.

Note that if the page was read long time ago, it's possible that page was locked by another user after it was read, and the lock is still outstanding. In this case, comments cannot be saved, and you will be redirected to a "topic is locked" page. You then have two options:

  • Cancel - throw away your comment and return to viewing the page.
  • Back - WARNING some browsers might requery the page and lose your comments - so test how your browser behaves before using the Back button.

To help avoid edit conflict, a reminder to refresh the page before entering comments is the default text for a %COMMENT. When the target page is known to be locked, the PROMPT form is automatically disabled.

Settings

  • Description:
    • Set SHORTDESCRIPTION = Allows users to quickly post comments to a page without an edit/preview/save cycle.
  • templates; includes user templates from CommentsTmpl
    • Set TEMPLATES = comments
  • default template type (if not present, defaults to "below")
    • Set DEFAULT_TYPE = above

Plugin Installation Instructions

* Make sure you have the TWiki:Plugins/SharedCode module installed. Among other things, TWiki:Plugins/SharedCode includes a compatibility module that enables plugins to use new TWiki features with earlier TWiki releases. If you don't already have it, install it now.
  • Download the ZIP file from the Plugin web (see below)
  • Unzip CommentPlugin.zip in your twiki installation directory. Content:
    File: Description:
    data/TWiki/CommentPlugin.txt Plugin doc page (this page)
    data/TWiki/CommentsTmpl.txt Example user templates
    templates/comments.tmpl Master comment templates
    lib/TWiki/Plugins/CommentPlugin.pm Plugin Perl module
    lib/TWiki/Plugins/CommentPlugin/Comment.pm Plugin Perl module
    lib/TWiki/Plugins/CommentPlugin/Templates.pm Plugin Perl module
    lib/TWiki/Plugins/CommentPlugin/test.zip Tests
    lib/TWiki/Plugins/CommentPlugin/build.pl Build file

  • The Plugin depends on the viewauth script to authenticate the user. As described in TWikiAccessControl, copy the view script to viewauth (or better, create a symbolic link) and add viewauth to the list of authenticated scripts in the .htaccess file.

If installed correctly, you should see a %COMMENT edit box below here.

Plugin Info

Plugin Author: v1.0 TWiki:Main/DavidWeller v2.0 TWiki:Main/PeterMasiar v3.0 TWiki:Main/CrawfordCurrie
Plugin Version: 3.0
Change History: 3.003 11 Apr 2004: Minor line termination problem fixed, and "security" hyphen on standard comment removed and replaced with a bulleted list.
  3.002 6 April 2004: Applied patches (thanks Peter Thoeny) for multiple comment adding, BOTTOM and TOP inside meta-data, and moved example to Sandbox.
  3.001 13 March 2004: Modified to use viewauth save technique (safer), add nonotify parameter, move templates fully into topics, with a hook for site-specifics, support %COMMENT%, internationalisation fixes
  3.000 18 Feb 2004: TWiki:Main/CrawfordCurrie rewrote for standard templates and other user requests. Recognition to Patrice Fournier and Sam Abrams for terrific testing and patch support.
  7 Feb 2004: TWiki:Main/CrawfordCurrie rewrote this page and CommentTemplates? in an effort to make the plugin more user friendly. Added {TIME} variable. Also updated CVS.
  23 Sep 2003 TWiki:Main/PeterMasiar: 80% rewrite/refactor, adding templates
  15 July 2003: TWiki:Main/PeterMasiar added "reminder" parameter and feature to pass comments to oopslockedcomments.tmpl template to copy-paste later
  5 March 2002 Bug fixes, TWiki:Main/JonLambert created oopslockedcomments.tmpl template
  24 Feb 2002 added a few more user requests, made "English" text configurable
  4 Dec 2001: 1.01 release, changed name to CommentPlugin, added $button var, changed textarea WRAP setting to "soft"
  30 Nov 2001: Initial version
Dependencies:  
Perl Version: 5.0
Plugin Home: TWiki:Plugins/CommentPlugin
Feedback: TWiki:Plugins/CommentPluginDev

Related Topics: TWikiPreferences, TWikiPlugins

-- TWiki:Main/DavidWeller - 05 Mar 2002
-- TWiki:Main/PeterMasiar - 15 Jul 2003, 23 Sep 2003
-- TWiki:Main/CrawfordCurrie - 21 May 2004

Templates for CommentPlugin - See CommentPlugin#Customisation for help

WARNING: THIS FILE WILL BE OVERWRITTEN WHEN YOU UPGRADE THE COMMENT PLUGIN

Put your local templates into UserTemplates?. LOCAL TEMPLATES WILL OVERRIDE TEMPLATES DEFINED IN THIS FILE

Template definitions

Templates used in rest of file

Generic prompt box used by other templates
%TMPL:DEF{promptbox}%
<table><tr valign="middle"><td><textarea %DISABLED% rows="%rows|3%" cols="%cols|50%" name="comment" wrap="soft" onfocus="if(this.value=='%MESSAGE%')this.value=''" onblur="if(this.value=='')this.value='%MESSAGE%'">%MESSAGE%</textarea></td><td><input %DISABLED% type="submit" value="%button|Add comment%" /></td></tr></table>
%TMPL:END%
Standard comment, preserving formatting, signed and dated
%TMPL:DEF{outputstandard}%

%URLPARAM{"comment"}%

-- %WIKIUSERNAME% - %DATE%
%TMPL:END%
Short comment, signed and dated
%TMPL:DEF{outputoneliner}%   * %URLPARAM{"comment"}% -- %WIKIUSERNAME% - %DATE% %TIME%%TMPL:END%

User templates

top

Comments, signed and dated, added at top of file
%TMPL:DEF{PROMPT:top}%%TMPL:P{promptbox}%%TMPL:END%

%TMPL:DEF{OUTPUT:top}%%TMPL:P{outputoneliner}%%POS:TOP%
%TMPL:END%

bottom

Comments, signed and dated, added at end of file
%TMPL:DEF{PROMPT:bottom}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:bottom}%%POS:BOTTOM%%TMPL:P{outputoneliner}%%TMPL:END%

above

Comments, signed and dated, added immediately before anchor
%TMPL:DEF{PROMPT:above}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:above}%%POS:BEFORE%%TMPL:P{outputstandard}%
%TMPL:END%

below

Comments, signed and dated, added immediately below anchor
%TMPL:DEF{PROMPT:below}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:below}%%POS:AFTER%%TMPL:P{outputstandard}%
%TMPL:END%

tableprepend

Comments, signed and dated, added at top of table below the anchor/location/COMMENT
%TMPL:DEF{PROMPT:tableprepend}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:tableprepend}%%POS:AFTER%| %URLPARAM{"comment" newline="<br />"}% </td><td> %WIKIUSERNAME% </td><td> %DATE% %TIME% |
%TMPL:END%

tableappend

Comments, signed and dated, added at end of table above the anchor/location/COMMENT
%TMPL:DEF{PROMPT:tableappend}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:tableappend}%%POS:BEFORE%| %URLPARAM{"comment" newline="<br />"}% | %WIKIUSERNAME% | %DATE% %TIME% |
%TMPL:END%

after: Add before the comment box

%TMPL:DEF{PROMPT:after}%%TMPL:P{promptbox}%%TMPL:END%
%TMPL:DEF{OUTPUT:after}%%TMPL:P{outputoneliner}% %POS:BEFORE%%TMPL:END%

action

Action added to action table directly above comment box
%TMPL:DEF{PROMPT:action}%
<table>
 <tr>
  <td align="right">Action for (TWiki.WikiName):</td>
  <td><input name="who" type="text" size="50" value="%URLPARAM{"who"}%" /></td>
 </tr>
 <tr>
  <td align="right">Due date:</td>
  <td>
   <input name="due" id="idDue" type="text" size="30" value="%URLPARAM{"due"}%" />
  </td>
 </tr>
 <tr>
  <td colspan="2">
   <textarea %DISABLED% rows="5" cols="120" name="comment" wrap="soft"></textarea>
  </td>
 </tr>
 <tr>
  <td colspan=2 align=middle><input %DISABLED% type="submit" value="Add action" /></td>
 </tr>
</table>
%TMPL:END%
%TMPL:DEF{OUTPUT:action}%%POS:BEFORE%%ACTION{who="%URLPARAM{"who"}%" due="%URLPARAM{"due"}%"}% %URLPARAM{"comment" newline="<br />"}%<br />- Created by %WIKIUSERNAME%, %DATE% %TIME%
%TMPL:END%

poll

TWiki table that collects results from a poll on plugin usage
%TMPL:DEF{PROMPT:poll}%
<table valign="middle">
 <tr>
  <td align=right>Number of sites?</td>
  <td align=left><input %DISABLED% type="text" name="sites" size="3" value="1"></td>
  <td align=right>Plugin hacked?</td>
  <td align=left>
   <select %DISABLED% name="pluginhacked">
    <option>no</option>
    <option>yes</option>
   </select>
  </td>
  <td align=right>TWiki hacked?</td>
  <td align=left>
   <select %DISABLED% name="twikihacked">
    <option>no</option>
    <option>yes</option>
   </select>
  </td>
  <td align=right>Remarks</td>
  <td align=left><input %DISABLED% type="text" name="remarks" size="30" value=""></td>
  <td>
   <input %DISABLED% type="submit" value="Yes, I use it" />
  </td>
 </tr>
</table>
%TMPL:END%
%TMPL:DEF{OUTPUT:poll}%%POS:BEFORE%| %WIKIUSERNAME% | %URLPARAM{"sites"}% | %URLPARAM{"pluginhacked"}% | %URLPARAM{"twikihacked"}% | %URLPARAM{"remarks"}% |
%TMPL:END%

table

Tablerows adding on end - TWiki:Main/FranzJosefSilli
%TMPL:DEF{PROMPT:table}%
<hr width="60%"/> Date: <input %DISABLED% type="text" size="40" name="comment_date" /> <br /> City: <input %DISABLED% type="text" size="40" name="comment_city" value="" /> <input %DISABLED% type="submit" value="%button|Add%" /> entry <hr width="90%"/>
%TMPL:END%
%TMPL:DEF{OUTPUT:table}%
%POS:BEFORE%| %URLPARAM{"comment_date"}% | %WIKIUSERNAME% | %URLPARAM{"comment_city" }% |
%TMPL:END%

toctalk

Talk using TOC adding on end - TWiki:Main/FranzJosefSilli
%TMPL:DEF{PROMPT:toctalk}%
<hr width="60%"/> Summary: <input %DISABLED% type="text" size="40" name="comment_summary" /> <br /> <textarea %DISABLED% rows="%rows|3%" cols="%cols|50%" name="comment_text" wrap="soft" onfocus="if(this.value=='%MESSAGE%')this.value=''" onblur="if(this.value=='')this.value='%MESSAGE%'">%MESSAGE%</textarea> <br /> <input %DISABLED% type="submit" value="%button|Add%" /> <hr width="90%"/>
%TMPL:END%
%TMPL:DEF{OUTPUT:toctalk}%
%POS:BEFORE%---+++ %DATE% %TIME% %WIKIUSERNAME%: %URLPARAM{"comment_summary"}%
%POS:BEFORE%%URLPARAM{"comment_text" }%
%POS:BEFORE%
%TMPL:END%

bookmark

Talk using TOC adding on end - TWiki:Main/FranzJosefSilli
%TMPL:DEF{PROMPT:bookmark}%
<hr width="60%"/> URL: <input %DISABLED% type="text" size="40" name="comment_url" value="http://" /> <br /> Link: <input %DISABLED% type="text" size="40" name="comment_link" /> <br /> Text: <input %DISABLED% type="text" size="40" name="comment_text" value="%MESSAGE%" /> <input %DISABLED% type="submit" value="%button|Add%" />   bookmark <hr width="90%"/>
%TMPL:END%
%TMPL:DEF{OUTPUT:bookmark}%
%POS:BEFORE%   * [[%URLPARAM{"comment_url"}%][%URLPARAM{"comment_link"}%]] - %URLPARAM{"comment_text" }%
%TMPL:END%

%TMPL:INCLUDE{"TWiki.UserTemplates"}%

Default TWiki Plugin

The default plugin is used for some depreciated rendering of older TWiki versions and of JosWiki. This plugin can also be used to specify some simple custom rendering rules. Note: Create a new TWikiPlugin based on EmptyPlugin if you plan to offer some complex rendering or other functionality.

Syntax Rules

Custom rendering rules of the default plugin:

  • Allow old include syntax ( %INCLUDE:"TopicName"% ) if Plugin Preferences variable OLDINCLUDE is set to 1
  • Render depreciated *_text_* as bold italic text. Test if installed: This is bold italic
  • Enable JosWiki rules if JosWiki specific code is uncommented

Modify file TWiki/Plugins/DefaultPlugin.pm to add your own rules or to enable JosWiki rules.

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %DEFAULTPLUGIN_SHORTDESCRIPTION%

  • One line description, is shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = This plugin can be used to specify some simple custom rendering rules. It also renders depreciated *_text_* as bold italic text.

  • Allow depreciated %INCLUDE:"TopicName"% syntax:
    • Set OLDINCLUDE = 1

  • Debug plugin: (See output in data/debug.txt)
    • Set DEBUG = 0

Plugin Installation Instructions

  • This plugin is preinstalled, you do not need to install it.

Plugin Info

Plugin Author: TWiki:Main.AndreaSterbini, TWiki:Main.PeterThoeny
Plugin Version: 21 Mar 2004
Change History:  
21 Mar 2004: Added afterSaveHandler
14 Jul 2001: Changed to plug&play
27 Feb 2001: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.0
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/DefaultPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/DefaultPluginDev

Related Topics: TWikiPreferences, TWikiPlugins, EmptyPlugin

-- TWiki:Main.AndreaSterbini - 27 Feb 2001
-- TWiki:Main.PeterThoeny - 21 Mar 2004

FAQ:

How do I delete or rename a topic?

Answer:

These two questions are answered together because often when you think you want to delete a page, more often it makes sense to rename the page to contain more context, e.g. rename it to include the date.

You can rename, move and delete topics directly from your browser. Moving lets you transfer a topic from one web to another. The soft delete moves a topic to the special Trash web, where it's hidden but can be "undeleted" with system administrator access.

Click [More] on the control bar at the bottom of the page you want to change, then choose [Rename/move], and make your changes to that screen. There's a link that launches to the ManagingTopics reference page in a pop-up window.

NOTE: The configuration of your site and your own access permissions determine whether you can access these functions.

Note for site administrators: To remove a topic permanently move it to the Trash web, then with file-level access, delete the .txt and .txt,v files manually from /twiki/data/Trash.

Back to: TWikiFAQ

-- PeterThoeny - 09 May 2003

FAQ:

How do I delete or rename a file attachment?

Answer:

You can move and delete attachments directly from your browser. Moving lets you transfer an attachment from one topic to another. The soft delete moves an attachment to the special TrashAttachment topic in the Trash web, where it's hidden but can be "undeleted" with system administrator access. Please note that you cannot rename an attachment in the current TWiki release.

Click on action on the file in the FileAttachment table, then in the Update attachment screen choose [Move attachment], and make your changes to that screen.

NOTE: The configuration of your site and your own access permissions determine whether you can access these functions.

Note for system administrators: To remove an attachment permanently move it to the Trash.TrashAttachment topic, then with file-level access, delete the file attachment and its ,v repository file manually from twiki/pub/Trash/TrashAttachment.

Back to: TWikiFAQ

-- PeterThoeny - 09 May 2003

Use the "Minor changes, don't notify" checkbox in preview in case you only make a minor change to a topic and you do not want to inform everybody who is on the WebNotify list of the current web of this change.

Note: No new revision is created in case you save the same topic again within a certain time frame (default is one hour). You only need to checkmark the "Minor change, don't notify" checkbox once within this time frame, because subsequent save operations do not notify users.

Note: The initial state of the checkbox can be set to on with the DONTNOTIFYCHECKBOX preferences variable. See TWikiPreferences for more.

Dragon Skin

TWiki:Plugins.DragonSkinDev has development-related information.

Dragon skin (named after the logo on the site it was developed for) is intended to provide a prosaic but relatively organized look-and-feel, while providing easy access to TWiki tools (topic lists, web changes, etc). Some features of this skin:

  • Fairly straightforward installation
  • A number of user customization options
  • Avoids using WEBBGCOLOR as a background for text
  • Themable (Three themes are included)

Browser support

DragonSkin has been tested on IE6, IE5.2/Mac, and fairly recent versions of Firefox, Mozilla, Opera, Safari, Camino, and Netscape, and appears to work on those browsers (Firefox and IE6 have been used the most). It has not been tested at all on IE5/Win, and may have display problems with that browser. Netscape 4.x should see the skin without any CSS formatting.

Screen Shots

The screen shot below is of the "tabstyle" theme. The "gray" theme has a rather drab solid gray left menu. The "monchrome" theme has a solid white left menu with a few other minor changes.

Click for full screen image

Topics included with the Dragon skin distribution

DragonSkinInstall
Installation instructions and administrator customization tips
DragonSkinCustomize
How users of the skin can customize various look and feel aspects.
DragonSkinSiteMap
A minor reworking of the classic TWiki site map, with the goal of having it be readable if somebody sets their web's WEBBGCOLOR to dark blue.

Installation

See DragonSkinInstall for detailed installation instructions and administrator customization tips.

Note: You do not need to install anything on the browser to use this skin. The following instructions are for the administrator who installs the skin on the server where TWiki is running.

Skin Info

Description: Prosaic but relatively organized look-and-feel, while providing easy access to TWiki tools
Screenshot: Click for full screen image
Base Name: dragon
Skin Author: TWiki:Main/ClaussStrauch
Skin Version: 27 Jul 2004 (v1.000)
Change History:  
27 Jul 2004: Initial version (v1.000)
Dependencies:  
Skin Home: http://TWiki.org/cgi-bin/view/Plugins/DragonSkin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/DragonSkinDev

Note: The Description, Screenshot and Base Name rows are needed by the TWikiSkinBrowser

Related topic: TWikiSkins, TWikiSkinBrowser

-- TWiki:Main/ClaussStrauch - 27 Jul 2004

DragonSkin customization

This topic contains information on how to change user-configurable look-and-feel aspects of Dragonskin. See DragonSkinInstall for installation instructions, and DragonSkin for some general information about the skin.

TWiki variables used by DragonSkin

The following TWikiVariables are specific to DragonSkin and control various look and feel aspects of the skin:

DS_BODYFONTSIZE
CSS font size for the overall body of the page.
DS_LEFTMENUFONTSIZE
CSS font size for the left menu (relative size values will compound with the body font size).
DS_EDITBARFONTSIZE
CSS font size for the edit/attach/etc menubar on the top of each view page (relative size values will compound with the body font size).
DS_FONTFAMILY
CSS font family. Applies to all pages.
DS_QUICKLINKSDISPLAY
Set this variable to "none" to turn off display of the quicklinks menu.
DS_QUICKLINKSHEADING
String to use for the quicklinks submenu heading.
DS_QUICKLINKS
HTML unordered list containing the quicklinks menu items.
DS_TOPICCSS
CSS statements that will get embedded in every view page (meant for adding short bits of style to a specific topic). These CSS statements are only included in view pages, not in edit, preview or oops pages. See the section below on "Recovering from a bad DS_TOPICCSS setting" for reasons why. Surround a topic-specific CSS setting with HTML comments to hide the CSS statements. Set the variable to a blank value on your wiki home page to disable seeing custom css styles.
DS_THEME
Lets one chose between various look and feels. Supported themes at this time are "gray" (the default), "monochrome", and "tabstyle".

You can test out settings on one page (such as a Sandbox page) using variables set within that topic.

The colored bands on the top and bottom of each page is set via the standard TWiki WEBBGCOLOR variable. This is usually set on a per-web basis, in order to provide a consistent indication of which web a page is in.

Built-in CSS styles

The following CSS styles are included with Dragonskin as a convenience. Your local administrator may add additional classes:
ds-draft
Text within a div of class ds-draft will be displayed with a tiled background containing light gray images with the word "DRAFT".
ds-kbd
Text within a div of class ds-kbd will be displayed in monospaced type w/in an indented light-gray box.
ds-note
Text within a div of class ds-note will be displayed as a yellow "Post-it" style note on the right-side of the page.

To use these classes, enclose your text in a div of that class. For example:
<div class="ds-note">

-- TWiki:Main/ClaussStrauch - 27 Jul 2004

DragonSkin installation

This topic describes how to install DragonSkin and perform some simple administrator-level (i.e. requiring the editing of template and CSS files) customizations. See the DragonSkinCustomize topic for information on doing user-configurable customizations, such as configuring the left quicklinks submenu, and the DragonSkin topic for some general information about the skin.

Basic install

  1. Unzip dragonskin.zip into your twiki installation directory.
  2. Set these variables to activate the skin:
    • Set SKIN = dragon
    • Set DS_THEME = gray (or select another theme such as "monochrome" or "tabstyle").
  3. In your templates directory, edit the file dragonmenu.dragon.tmpl to configure the left menu (see below if you wish to read this menu from a topic). When editing this file, keep the basic div and class structure. H2 tags are used for menu headings; HTML unordered lists are used for menus.
  4. Set the contents of the DS_QUICKLINKS submenu. Instructions on how to do so (or hide this submenu entirely) are in DragonSkinCustomize.
  5. Do any other customizations (fonts, etc) as per DragonSkinCustomize.
  6. (Optional) If you are still using the default TWiki robot logo, the skin will look much better if you change it to something else, such as twikiRobot121x54.gif from TWiki:Codev.TWikiLogosDropInReplacementsWhite.
  7. (Optional) Replace the default TWiki site map with DragonSkinSiteMap.

Browser issues

DragonSkin has been tested on IE6, Firefox, IE5.2/Mac, and fairly recent versions of Firefox, Mozilla, Opera, Safari, Camino, and Netscape, and appears to work on those browsers (Firefox and IE6 have been used the most). It has not been tested at all on IE5/Win, and may have display problems with that browser. Netscape 4.x should see the skin without any CSS formatting.

Customizing the installation

Note: When creating DragonSkin-related CSS classes or TWiki variables, use a prefix of ds- for CSS classes (e.g. ds-myclass) and DS_ for TWiki variables (e.g. DS_MYVARIABLE). This will help prevent namespace confusion.

Including the left menu from a topic

  1. Create a topic with the menu contents. When doing so, be careful about including blank lines in the menu, since the TWiki renderer will insert paragraph tags and mess up the layout. Also, use %INCLUDINGWEB% when necessary to make sure that searches and links to topics like WebPreferences will reference the right web. Note that including the menu from a topic will be slightly slower than using it directly from the template file.
  2. Change the templates/dragonmenu.dragon.css file to just have the single line %INCLUDE{"TWiki.DragonMenuTopic"}% (or whatever your menu topic is called).

Adding site-specific CSS styles

If you want to add a site-specific CSS style, add it to pub/%TWIKIWEB%/DragonSkin/typography.css, since that file is included in every theme. Alternatively, add another import rule to the definition of dragoncss in templates/twiki.dragon.tmpl that imports a site-specific css file, and put all local styles in that file. If your style makes use of TWiki variables, add it to templates/dragoncssvars.dragon.tmpl, so variables will get expanded.

-- TWiki:Main.ClaussStrauch - 27 Jul 2004

Reprap Site Map

Web Reprap Site Map Use to...
Main
 Home of Main web Search Main web Recent changes in the Main web Get notified of changes to the Main web
Welcome to Reprap... Users, Groups, Offices - tour this expandable virtual workspace. ...get a first-hand feel for TWiki possibilities.
TWiki
 Home of TWiki web Search TWiki web Recent changes in the TWiki web Get notified of changes to the TWiki web
Welcome, Registration, and other StartingPoints; TWiki history & Wiki style; All the docs... ...discover TWiki details, and how to start your own site.
Sandbox
 Home of Sandbox web Search Sandbox web Recent changes in the Sandbox web Get notified of changes to the Sandbox web
Sandbox test area with all features enabled. ...experiment in an unrestricted hands-on web.
You can use color coding by web for identification and reference. This table is updated automatically based on WebPreferences settings of the individual webs. Contact A.Bowyer@bath.ac.uk if you need a separate collaboration web for your team.

Legend of icons:

 

Home of web = Go to the home of the web
Search web = Search the web

 

Recent changes in the web = See recent changes in the web
Get notified of changes to the web = Subscribe to get notified of changes by e-mail

-- TWiki:Main/ClaussStrauch - 27 Jul 2004

FAQ:

Why does the topic revision not increase when I edit a topic?

Answer:

The same topic revision will be used when you save a topic again within a certain time frame (one hour by default). This is to prevent unnecessary topic revisions when you do several edit cycles in a row. Note that a new revision is created if another person edits the same topic, regardless of the time.

Back to: TWikiFAQ

-- PeterThoeny - 27 Nov 2000

Edit Table Plugin

This plugin allows you to edit TWiki tables using edit fields and drop down boxes. Tables have an [ Edit table ] button if preceeded by an %EDITTABLE{...}% variable. Each column can be a text field, a drop down box, a date field, etc. Multiple tables per topic are editable, but only one at a time can be edited.

Per Table Settings

Add a %EDITTABLE{...}% variable just before an existing table to make it editable, or add the variable anywhere in a topic to start a new table. Parameters:

Parameter Comment Default
header Specify the header format of a new table like "|*Food*|*Drink*|". Useful to start a table with only a button (no header)
format The format of one column when editing the table. A cell can be a text input field, or any of these edit field types:
• Text input field (1 line):
  | text, <size>, <initial value> |
• Textarea input field:
  | textarea, <rows>x<columns>, <initial value> |
• Drop down box:
  | select, <size>, <option 1>, <option 2>, etc |
• Radio buttons:
  | radio, <size*>, <option 1>, <option 2>, etc |
  * size indicates the number of buttons per line in edit mode
• Checkboxes:
  | checkbox, <size*>, <option 1>, <option 2>, etc |
  * size indicates the number of checkboxes per line in edit mode
• Fixed label:
  | label, 0, <label text> |
• Row number:
  | row, <offset> |
• Date:
  | date, <size>, <initial value>, <DHTML date format> |
"text, 16"
for all cells
changerows Rows can be added and removed if "on";
Rows can be added but not removed if "add"
CHANGEROWS
Plugin setting
quietsave Quiet Save button is shown if "on", hidden if "off" QUIETSAVE
Plugin setting
include Other topic defining the EDITTABLE parameters. The first %EDITTABLE% in the topic is used. This is useful if you have many topics with the same table format and you want to update the format in one place. (none)
helptopic Topic name containing help text shown below the table when editing a table. The %STARTINCLUDE% and %STOPINCLUDE% variables can be used in the topic to specify what is shown. (no help text)
headerislabel Table header cells are read-only (labels) if "on"; header cells can be edited if "off" or "0" "on"
editbutton Set edit button text, e.g. "Edit this table"; set button image with alt text, e.g. "Edit table, %PUBURL%/%TWIKIWEB%/TWikiDocGraphics/edittopic.gif"; hide edit button at the end of the table with "hide" (Note: Button is automatically hidden if an edit button is present in a cell) EDITBUTTON
Plugin setting

Initial Values

By default, variables in <initial value> (of text input field) and <label text> (of fixed label) get expanded when a new row is added. This can be used for example to add a timestamp to a label. You can escape characters if you do not want that:

Text: To Escape:
$quot Double quote ("). Alternatively write \" to escape it
$percnt Percent sign (%)
$dollar Dollar sign ($)
$nop or $nop() Is a "no operation"

Date Field Type

Edit Table Calendar Example The date field type allows one to choose a date with a popup calendar. Popup calendar works for Netscape 6.0 or better, all other Gecko-based browsers, Internet Explorer 5.0 or better for Windows, Opera 7 and Konqueror 3.1.2. The ... button is inactive if the browser cannot support the popup calendar. It uses the nice Mishoo DHTML calendar, see also TWiki:Codev/JavaScriptDatePickerForForm

Per Cell Settings

An individual edit field type can be defined for each table cell. Place an %EDITCELL{ "type, ..." }% variable at the end of the cell content. This is useful to override the per column %EDITTABLE{ format="..." }% settings, or to create tables with key/value rows. All edit field types of the format="..." parameter are supported. For example, to define a text field, type: | cell content %EDITCELL{ "text, 20" }% |

It is also possible to place the edit button inside a cell instead of default location below the table. Type | %EDITCELL{ "editbutton, 1, Edit this table" }% | to show a button, or | %EDITCELL{ "editbutton, 1, Edit table, Image-URL" }% | to show a button image with alternate text.

Note: The %EDITCELL{ }%=variable cannot be used by itself; place an =%EDITTABLE{ }%=variable at the beginning of a table where you want to use =%EDITCELL{ }% variables.

Table Buttons

  • In page view mode:
    • - turn the table into edit mode
  • In edit mode:
    • - save your changes
    • - save your changes without alerting subscribed WebNotify users
    • - add row to the table (if enabled)
    • - remove last row from the table (if enabled)
    • - cancel without saving and release edit lock

Examples

Line before table: %EDITTABLE{ format="| row, -1 | text, 20, init | select, 1, one, two, three, four | radio, 3,:-),:-I,:-( | label, 0, %SERVERTIME{"$day $mon $year $hour:$min"}% |" changerows="on" }%

Nr Text field Drop down Mood Timestamp
1 hello table one smile 26 Jun 2002 12:30
2   two frown 27 Jun 2002 12:40

Note: Please do not save this example table! Use TWiki:Sandbox.EditTablePluginTesting if you want to try out this Plugin

If this plugin is installed you will see an [ Edit table ] button above; if you were to click on it (please don't, use TWiki:Sandbox.EditTablePluginTesting for testing) you get this form:

Nr Text field Drop down Mood Timestamp
1 smile indifferent frown 26 Jun 2002 12:30
2 smile indifferent frown 27 Jun 2002 12:40
(demo only, these buttons do not work)

The following example shows a simple table with key/value rows. The default edit field type for the value column is a text field. This is overloaded by a selector for the Gender, and a date picker for the DOB. This is typically used by TWiki applications where new topics with tables are created based on a template topic.

You type:
%EDITTABLE{ format="| label | text, 40 |" }%
|*Key*|*Value*|
| Name: | John Smith |
| Gender: | M %EDITCELL{select, 1, , F, M}% |
| DOB: | 1999/12/31 %EDITCELL{date, 10}% |
| City: | New York |
Screenshot: EDITCELL Example in view mode Screenshot in edit mode: EDITCELL Example in edit mode

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %EDITTABLEPLUGIN_SHORTDESCRIPTION%

  • One line description, shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Edit TWiki tables using edit fields, date pickers and drop down boxes

  • Set DEBUG to 1 to get debug messages in data/debug.txt. Default: 0
    • Set DEBUG = 0

  • Default for change rows flag: on, off, add
    • Set CHANGEROWS = on

  • Default flag for quiet save option: on to show the Quiet Save button, off to hide
    • Set QUIETSAVE = on

  • Default edit button: Specify button text, or specify alternate text, image URL
    • #Set EDITBUTTON = Edit table
    • Set EDITBUTTON = Edit this table, edittable.gif

  • Language of DHTML calendar, pointing to attached calendar-<code>.js language file: en, af, br, ca, cs-win, da, de, du, el, es, fr, hr, hr-utf8, hu, it, jp, nl, no, pl, pt, ro, ru, sk, sp, sv, tr, zh
    • Set JSCALENDARLANGUAGE = en

  • Additional options of DHTML calendar:
    • Set JSCALENDAROPTIONS =

Note: The Plugin looks for the JSCALENDAR* settings first in the TWiki Preferences, then in above Plugin settings

Limitations and Known Issues

  • This Plugin does not support TWiki table formatting like Multi-span cells (e.g. | ... ||) and cell justification (e.g. |  centered  |   right |)
  • There is a performance issue when editing a large table, say, with more then 50 rows
  • Variables like %ATTACHURL% get expanded unless they are in a label
  • You cannot put two %EDITTABLE{}% statements on the same line in the source
  • You can include %-vars now in select values, by quoting them with <nop>, as in %<nop>X% for %X%, say for instance:
    select,1,%<nop>X%,%<nop>Y%

Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this Plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running.

  • Download the ZIP file from the Plugin web (see below)
  • Unzip EditTablePlugin.zip in your twiki installation directory. Content:
    File: Description:
    data/TWiki/EditTablePlugin.txt Plugin topic
    data/TWiki/EditTablePlugin.txt,v Plugin topic repository
    lib/TWiki/Plugins/EditTablePlugin.pm Plugin Perl module
    pub/TWiki/EditTablePlugin/edittable.gif Edit table button image
    pub/TWiki/EditTablePlugin/*.gif Screenshots and Mishoo DHTML calendar images
    pub/TWiki/EditTablePlugin/README Mishoo DHTML calendar README
    pub/TWiki/EditTablePlugin/release-notes.html Mishoo DHTML calendar release notes
    pub/TWiki/EditTablePlugin/*.js Mishoo DHTML calendar JavaScript files
    pub/TWiki/EditTablePlugin/calendar-system.css Mishoo DHTML calendar stylesheet
  • The Plugin depends on the viewauth script to authenticate the user. As described in TWikiAccessControl, copy the view script to viewauth (or better, create a symbolic link) and add viewauth to the list of authenticated scripts in the .htaccess file.
  • The Mishoo DHTML calendar 0.9.5 is preinstalled and should work without any configuration. If you wish to use another language, specify the in the Plugin settings, or create a new language files, attach it to the Plugin topic, and change the Plugin settings
  • Test if the Plugin is correctly installed:
    • Check above example if there is an [ Edit table ] button below the table in above example
    • Click on [ Edit table ], make changes and save the table

License

  • The Edit Table Plugin is released under the GPL
  • The Mishoo DHTML calendar bundled with this Plugin was created by Mihai Bazon and is released under the LGPL -- thanks Mihai for the great tool smile

Plugin Info

Plugin Author: TWiki:Main/PeterThoeny
Plugin Version: 16 Sep 2004
Change History:  
16 Sep 2004: Added radio buttons and checkbox controls; escaped "|" pipe symbol found in input fields to preserve tables
01 Aug 2004: Fixed bug where edittable did not work if at the end of a topic
07 Apr 2004: Fixed bug where two tables got updated when you edit and save a table included into a topic containing other edit tables
02 Mar 2004: Default for %EDITCELL{editbutton}% is EDITBUTTON preference
27 Feb 2004: Added QUIETSAVE setting and quietsave parameter; image for Edit button
18 Feb 2004: Doc fixes; allow edit button anywhere in a cell not just at the end of a cell
17 Feb 2004: Added per cell definition of edit field types with %EDITCELL{}% variable; added headerislabel and editbutton parameters
20 Dec 2003: Fixed bug where calendar did not work after adding a row (TWiki:Main/PaulineCheung); added all language files of Mishoo DHTML calendar 0.9.5
13 Dec 2003: Added CHANGEROWS, JSCALENDARDATEFORMAT, JSCALENDARLANGUAGE, JSCALENDAROPTIONS settings
16 Oct 2003: small typo fixed (garbled if ---+ header on top)
15 Oct 2003: new date field type with javascript calendar - CN
14 Oct 2003: docfix: the documentation page was an old one - CN
13 Oct 2003: bugfix: %-vars in select were resetted to first on add/del row - CN
18 Sep 2003: incompatibility: changed default of changerows to on; support for %-vars, Quiet save for saving without notification; all other fixes in Dev topic integrated - CN
08 Nov 2002: Prevent variable expansion in label text; added escape characters
27 Jun 2002: New helptopic parameter
26 Jun 2002: Support for variables in included EDITTABLE parameters; fixed problem with HTML in cells
21 May 2002: Added fixed label format; new changerows="add" parameter
27 Apr 2002: Fixed bug where text after a double quote in a cell disappeared
18 Apr 2002: Fixed bug where table was breaking when pasting multiple lines into an edit field using Netscape on Unix
08 Apr 2002: Check for change permission and edit lock of topic
05 Apr 2002: Initial version
CPAN Dependencies: none
Other Dependencies: Mishoo DHTML calendar (version 0.9.5 preinstalled); TWiki version 01 Feb 2003 or later
Perl Version: 5.0
TWiki:Plugins/Benchmark: GoodStyle 98%, FormattedSearch 98%, EditTablePlugin 95%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/EditTablePlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/EditTablePluginDev

Related Topics: TWikiPreferences, TWikiPlugins

-- TWiki:Main/PeterThoeny - 16 Sep 2004

Empty TWiki Plugin

This is an empty plugin you can use as a template to build your own TWikiPlugins. This plugin does nothing, but is ready to be used.

To create your own plugin:

  • Copy file TWiki/Plugins/EmptyPlugin.pm to <name>Plugin.pm and customize the plugin.
  • Create a <name>Plugin topic in the TWiki web. Do so by visiting http://TWiki.org/cgi-bin/view/Plugins/ and starting a new topic to get the default plugin topic text (don't save the topic). Customize your plugin topic to your needs.
  • See details in TWikiPlugins.

Syntax Rules

(none)

Plugin Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, i.e. %EMPTYPLUGIN_SHORTDESCRIPTION%

  • One line description, is shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = This plugin does nothing, but can be used as a template for your own plugins.

  • Your own setting, i.e.:
    • Set EXAMPLE = got it!

  • Debug plugin: (See output in data/debug.txt)
    • Set DEBUG = 0

Plugin Installation Instructions

  • This plugin is preinstalled, you do not need to install it.

Plugin Info

Plugin Author: TWiki:Main.AndreaSterbini, TWiki:Main.PeterThoeny
Plugin Version: 21 Mar 2003
Change History:  
21 Mar 2004: Added afterSaveHandler
14 Jul 2001: Changed to plug&play
27 Feb 2001: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.0
TWiki:Plugins/Benchmark: GoodStyle 99%, FormattedSearch 99%, EmptyPlugin 99%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/EmptyPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/EmptyPluginDev

Related Topics: TWikiPreferences, TWikiPlugins, DefaultPlugin

-- TWiki:Main.AndreaSterbini - 27 Feb 2001
-- TWiki:Main.PeterThoeny - 21 Mar 2004

(just an example illustrating how to create a new topic based on a specific template topic. TWikiTemplates has more)

-- TWikiGuest - 22 Nov 2009

File Attachments

Each topic can have one or more files of any type attached to it by using the Attach screen to upload (or download) files from your local PC. Attachments are stored under revision control: uploads are automatically backed up; all previous versions of a modified file can be retrieved.

What Are Attachments Good For?

File Attachments can be used to create powerful customized groupware solutions, like file sharing and document management systems, and quick Web page authoring.

Document Management System

  • You can use Attachments to store and retrieve documents (in any format, with associated graphics, and other media files); attach documents to specific TWiki topics; collaborate on documents with full revision control; distribute documents on a need-to-know basis using web and topic-level access control; create a central reference library that's easy to share with an user group spread around the world.

File Sharing

  • For file sharing, FileAttachments on a series of topics can be used to quickly create a well-documented, categorized digital download center for all types of files: documents; graphics and other media; drivers and patches; applications; anything you can safely upload!

Web Authoring

  • Through your Web browser, you can easily upload graphics (or sound files, or anything else you want to link to on a page) and place them on a single page, or use them across a web, or site-wide.
    • NOTE: You can also add graphics - any files - directly, typically by FTP upload. This requires FTP access, and may be more convenient if you have a large number of files to load. FTP-ed files can't be managed using browser-based Attachment controls. You can use your browser to create TWikiVariables shortcuts, like this %H% = HELP.

Uploading Files

  • Click on the Attach link at the bottom of the page. The Attach screen lets you browse for a file, add a comment, and upload it. The uploaded file will show up in the File Attachment table.
    • NOTE: The topic must already exist. It is a two step process if you want to attach a file to a non-existing topic; first create the topic, then add the file attachment.
    • Any type of file can be uploaded. Some files that might pose a security risk are renamed, ex: *.php files are renamed to *.php.txt so that no one can place code that would be read in a .php file.
    • The previous upload path is retained for convenience. In case you make some changes to the local file and want to upload it, again you can copy the previous upload path into the Local file field.
    • TWiki can limit the file size. This is defined by the %ATTACHFILESIZELIMIT% variable of the TWikiPreferences, currently set at 0 KB.
      • ALERT! It's not recommended to upload files greater than a few hundred K through a browser. Large files can be extremely slow-loading, and often time out. Use an FTP site for large file uploads.

Downloading Files

  • ALERT! NOTE: There is no access control on individual attachments. If you need control over single files, create a separate topic per file and set topic-level access restrictions for each.

Moving Attachment Files

An attachment can be moved between topics.

  • Click Manage on the Attachment to be moved.
  • On the control screen, select the new web and/or topic.
  • Click Move. The attachment and its version history are moved. The original location is stored as topic Meta Data.

Deleting Attachments

Move unwanted Attachments to web Trash, topic TrashAttachment.

Linking to Attached Files

  • Once a file is attached it can be referenced in the topic. Example:
    1. Attach file: Sample.txt
    2. Edit topic and enter: %ATTACHURL%/Sample.txt
    3. Preview: %ATTACHURL%/Sample.txt text appears as: http://reprap.org/pub/TWiki/FileAttachment/Sample.txt, a link to the text file.

  • To reference an attachment located in another topic, enter:
    • %PUBURL%/%WEB%/OtherTopic/Sample.txt (if it's within the same web)
    • %PUBURL%/Otherweb/OtherTopic/Sample.txt (if it's in a different web)

  • Attached HTML files and text files can be inlined in a topic. Example:
    1. Attach file: Sample.txt
    2. Edit topic and write text: %INCLUDE{"%ATTACHURL%/Sample.txt"}%

  • GIF, JPG and PNG images can be attached and shown embedded in a topic. Example:
    1. Attach file: Smile.gif
    2. Edit topic and write text: %ATTACHURL%/Smile.gif
    3. Preview: text appears as Smile.gif, an image.

File Attachment Contents Table

Files attached to a topic are displayed in a directory table, displayed at the bottom of the page, or optionally, hidden and accessed when you click Attach.

Attachment Action Size Date Who Comment
Sample.txt manage 0.1 K 22 Jul 2000 - 19:37 PeterThoeny Just a sample
Smile.gif manage 0.1 K 22 Jul 2000 - 19:38 PeterThoeny Smiley face

File Attachment Controls

Clicking on a Manage link takes you to a new page that looks like this:

Attachment Action Size Date Who Comment Attribute
Sample.txt manage 0.1 K 22 Jul 2000 - 19:37 PeterThoeny Just a sample  
Smile.gif manage 0.1 K 22 Jul 2000 - 19:38 PeterThoeny Smiley face  

Update attachment Sample.txt

Version Action Date Who Comment
1.1 view 2001.08.30.09.28.56 PeterThoeny  

Previous
upload:
C:\DATA\Sample.txt (PeterThoeny)
Local file:
Comment:
Link: Create a link to the attached file at the end of the topic.
Hide file: Hide attachment in normal topic view.
Help text ...

Topic FileAttachment . { | | Move attachment | Cancel }

  • The first table is a list of all attachments, including their attributes. An h means the attachment is hidden, it isn't listed when viewing a topic.

  • The second table is all the versions of the attachment. Click on View to see that version. If it's the most recent version, you'll be taken to an URL that always displays the latest version, which is usually what you want.
    • To change the comment on an attachment, enter a new comment and then click Change properties. Note that the comment listed against the specific version will not change, however the comment displayed when viewing the topic does change.
    • To hide/unhide an attachment, enable the Hide file checkbox, then click Change properties.

Known Issues

  • Unlike topics, attachments are not locked during editing. As a workaround, you can change the comment to indicate an attachment file is being worked on - the comment on the specific version isn't lost, it's there when you list all versions of the attachment.

  • Tommelise 1.0:
    Tommelise 1.0
Each FileAttachment in a Topic has an attribute string. At present only only the hidden attribute is supported. If the attribute includes h then the attachment is considered to be hidden. It is not listed in the topic, but is displayed when attach page is displayed.

-- TWiki:Main.JohnTalintyre - 30 Aug 2001

TWiki Formatted Search Results

Inline search feature allows flexible formatting of search result

The default format of a %SEARCH{...}% as documented in TWikiVariables is a table consisting of topic names and topic summaries. Use the format="..." parameter to customize the search result. The format parameter typically defines a bullet or a table row containing variables, such as %SEARCH{ "food" format="| $topic | $summary |" }%.

Syntax

Two parameters can be used to specify a customized search result:

1. header="..." parameter

Use the header parameter to specify the header of a search result. It should correspond to the format of the format parameter. This parameter is optional.
Example: header="| *Topic:* | *Summary:* |"

2. format="..." parameter

Use the format parameter to specify the format of one search hit.
Example: format="| $topic | $summary |"

Variables that can be used in the format string:

Name: Expands To:
$web Name of the web
$topic Topic name
$topic(20) Topic name, "- " hyphenated each 20 characters
$topic(30, -<br />) Topic name, hyphenated each 30 characters with separator "-<br />"
$topic(40, ...) Topic name, shortended to 40 characters with "..." indication
$parent Name of parent topic; empty if not set
$parent(20) Name of parent topic, same hyphenation/shortening like $topic()
$text Formatted topic text. In case of a multiple="on" search, it is the line found for each search hit.
$locked LOCKED flag (if any)
$date Time stamp of last topic update, e.g. 22 Nov 2009 - 11:15
$isodate Time stamp of last topic update, e.g. 2009-11-22T11:15Z
$rev Number of last topic revision, e.g. 1.4
$username Login name of last topic update, e.g. jsmith
$wikiname Wiki user name of last topic update, e.g. JohnSmith
$wikiusername Wiki user name of last topic update, like Main.JohnSmith
$createdate Time stamp of topic revision 1.1
$createusername Login name of topic revision 1.1, e.g. jsmith
$createwikiname Wiki user name of topic revision 1.1, e.g. JohnSmith
$createwikiusername Wiki user name of topic revision 1.1, e.g. Main.JohnSmith
$summary Topic summary, with 162 characters
$summary(50) Topic summary, with 50 characters
$summary(showvarnames) Topic summary, with %ALLTWIKI{...}% variables shown as ALLTWIKI{...}
$summary(noheader) Topic summary, with leading ---+ headers removed
Note: The tokens can be combined into a comma separated list like $summary(100, showvarnames, noheader)
$formname The name of the form attached to the topic; empty if none
$formfield(name) The field value of a form field; for example, $formfield(TopicClassification) would get expanded to PublicFAQ. This applies only to topics that have a TWikiForm
$formfield(name, 10) Form field value, "- " hyphenated each 10 characters
$formfield(name, 20, -<br />) Form field value, hyphenated each 20 characters with separator "-<br />"
$formfield(name, 30, ...) Form field value, shortended to 30 characters with "..." indication
$pattern(reg-exp) A regular expression pattern to extract some text from a topic (does not search meta data; use $formfield instead). In case of a multiple="on" search, the pattern is applied to the line found in each search hit.
• Specify a RegularExpression that covers the whole text (topic or line), which typically starts with .*, and must end in .*
• Put text you want to keep in parenthesis, like $pattern(.*?(from here.*?to here).*)
• Example: $pattern(.*?\*.*?Email\:\s*([^\n\r]+).*) extracts the email address from a bullet of format * Email: ...
• This example has non-greedy .*? patterns to scan for the first occurance of the Email bullet; use greedy .* patterns to scan for the last occurance
• Limitation: Do not use .*) inside the pattern, e.g. $pattern(.*foo(.*)bar.*) does not work, but $pattern(.*foo(.*?)bar.*) does
• Note: Make sure that the integrity of a web page is not compromised; for example, if you include an HTML table make sure to include everything including the table end tag
$n or $n() New line
$nop or $nop() Is a "no operation". This variable gets removed; useful for nested search
$quot Double quote ("). Alternatively write \" to escape it
$percnt Percent sign (%)
$dollar Dollar sign ($)

Examples

Bullet list showing topic name and summary

Write this:

%SEARCH{ "FAQ" scope="topic" nosearch="on" nototal="on" header="   * *Topic: Summary:*" format="   * [[$topic]]: $summary" }%

To get this:

  • Topic: Summary:
  • TWikiFAQ: Frequently Asked Questions About RepRap This is a real FAQ, and also a demo of one easily implemented knowledge base solution. See how it's done, click Edit . NOTE ...
  • TWikiFaqTemplate: FAQ: Answer: Back to: TWikiFAQ
  • TextFormattingFAQ: Text Formatting FAQ The most frequently asked questions about text formatting are answered. Also, TextFormattingRules contains the complete TWiki shorthand system ...

Table showing form field values of topics with a form

In a web where there is a form that contains a TopicClassification field, an OperatingSystem field and an OsVersion field we could write:

| *Topic:* | *OperatingSystem:* | *OsVersion:* |
%SEARCH{ "[T]opicClassification.*?value=\"[P]ublicFAQ\"" scope="text" regex="on" nosearch="on" nototal="on" format="| [[$topic]] | $formfield(OperatingSystem) | $formfield(OsVersion) |" }%

To get this:

Topic: OperatingSystem: OsVersion:
IncorrectDllVersionW32PTH10DLL OsWin 95/98
WinDoze95Crash OsWin 95

Extract some text from a topic using regular expression

Write this:

%SEARCH{ "__Back to\:__ TWikiFAQ" scope="text" regex="on" nosearch="on" nototal="on" header="TWiki FAQs:" format="   * $pattern(.*?FAQ\:[\n\r]*([^\n\r]+).*) [[$topic][Answer...]]" }%

To get this:

TWiki FAQs:

  • How do I delete or rename a topic? Answer...
  • How do I delete or rename a file attachment? Answer...
  • Why does the topic revision not increase when I edit a topic? Answer...
  • TWiki has a GPL (GNU General Public License). What is GPL? Answer...
  • How do you log off? Suppose I log in with the guest username but later I want to use another username, how do I log off from the guest user name? Answer...
  • I've problems with the WebSearch. There is no Search Result on any inquiry. By clicking the Index topic it's the same problem. Answer...
  • What happens if two of us try to edit the same topic simultaneously? Answer...
  • I would like to install TWiki on my server. Can I get the source? Answer...
  • So what is this WikiWiki thing exactly? Answer...
  • Everybody can edit any page, this is scary. Doesn't that lead to chaos? Answer...

Nested Search

Search can be nested. For example, search for some topics, then form a new search for each topic found in the first search. The idea is to build the nested search string using a formatted search in the first search.

Here is an example. Let's search for all topics that contain the word "culture" (first search), and let's find out where each topic found is linked from (second search).

  • First search:
    • %SEARCH{ "culture" format="   * $topic is referenced by: (list all references)" nosearch="on" nototal="on" }%
  • Second search. For each hit we want this search:
    • %SEARCH{ "(topic found in first search)" format="$topic" nosearch="on" nototal="on" separator=", " }%
  • Now let's nest the two. We need to escape the second search, e.g. the first search will build a valid second search string. Note that we escape the second search so that it does not get evaluated prematurely by the first search:
    • Use $percnt to escape the leading percent of the second search
    • Use \" to escape the double quotes
    • Use $dollar to escape the $ of $topic
    • Use $nop to escape the }% sequence

Write this:

%SEARCH{ "culture" format="   * $topic is referenced by:$n      * $percntSEARCH{ \"$topic\" format=\"$dollartopic\" nosearch=\"on\" nototal=\"on\" separator=\", \" }$nop%" nosearch="on" nototal="on" }%

To get this:

Note: Nested search can be slow, especially if you nest more then 3 times. Nesting is limited to 16 levels. For each new nesting level you need to "escape the escapes", e.g. write $dollarpercntSEARCH{ for level three, $dollardollarpercntSEARCH{ for level four, etc.

Most recently changed pages

Write this:

%SEARCH{ "\.*" scope="topic" regex="on" nosearch="on" nototal="on" order="modified" reverse="on"  format="| [[$topic]] | $wikiusername  | $date |" limit="7" }%

To get this:

WebStatistics TWikiGuest 09 Nov 2009 - 22:43
TWikiRegistration AdrianBowyer 15 Jul 2009 - 12:37
RepRapRegister SimonMcAuliffe 02 Mar 2007 - 21:18
TWikiPreferences SimonMcAuliffe 19 Feb 2007 - 21:10
WebTopBar SimonMcAuliffe 11 Dec 2006 - 10:33
FileAttachment ForrestHiggs 28 Nov 2006 - 08:20
CaptchaPlugin KoenMartens? 03 Aug 2006 - 10:19

Search with conditional output

A regular expression search is flexible, but there are limitations. For example, you cannot show all topics that are up to exactly one week old, or create a report that shows all records with invalid form fields or fields within a certain range, etc. You need some additional logic to format output based on a condition:

  1. Specify a search which returns more hits then you need
  2. For each search hit apply a spreadsheet formula to determine if the hit is needed
  3. If needed, format and output the result
  4. Else supress the search hit

This requires the TWiki:Plugins.SpreadSheetPlugin. The following example shows all topics that are up to exactly one week old.

Write this:

%CALC{$SET(weekold, $TIMEADD($TIME(), -7, day))}%
%SEARCH{ "." scope="topic" regex="on" nosearch="on" nototal="on" order="modified" reverse="on" format="$percntCALC{$IF($TIME($date) < $GET(weekold), <nop>, | [[$topic]] | $wikiusername | $date | $rev |)}$percnt" limit="100" }%

  • The first line sets the weekold variable to the serialized date of exactly one week ago
  • The SEARCH has a deferred CALC. The $percnt makes sure that the CALC gets executed once for each search hit
  • The CALC compares the date of the topic with the weekold date
  • If topic is older, a <nop> is returned, which gets removed at the end of the TWiki rendering process
  • Otherwise, the search hit is formatted and returned

To get this:

Embedding search forms to return a formatted result

Use an HTML form and an embedded formatted search on the same topic. You can link them together with an %URLPARAM{"..."}% variable. Example:

Write this:

<form action="%SCRIPTURLPATH%/view%SCRIPTSUFFIX%/TWiki/FormattedSearch">
Find Topics: 
<input type="text" name="q" size="32" value="%URLPARAM{"q"}%" />
<input type="submit" value="Search" />
</form>
Result:
%SEARCH{ search="%URLPARAM{"q"}%" format="   * $web.$topic: %BR% $summary" nosearch="on" }%

To get this:

Find Topics:
Result: Number of topics: 0

-- TWiki:Main.PeterThoeny - 26 Jul 2004

FAQ:

TWiki has a GPL (GNU General Public License). What is GPL?

Answer:

TWiki is distributed under the GNU General Public License, see TWikiDownload. GPL is one of the free software licenses that protects the copyright holder, and at the same time allows users to redistribute the software under the terms of the license. Extract:

  • This program is open source software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
  • This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  • See the GNU General Public License for more details, published at http://www.gnu.org/copyleft/gpl.html

Please note that TWiki is not distributed under the LGPL (Lesser General Public Licence), which implies TWiki can only be used with software that is licensed under conditions compliant with the GPL. Embedding in proprietary software requires an alternative license. Contact the author for details.

Back to: TWikiFAQ

-- TWiki:Main.PeterThoeny - 27 Nov 2000

Go Box

The box at the top or sidebar of each page.

Enter a topic name to quickly jump to the topic, for example:

  • WebNotify to jump to WebNotify in the current web
  • Main.WebNotify to jump to WebNotify in the Main web
  • Main. to jump to the home of the Main web
  • BrandNewTopic to jump to a non existing topic in the current web, which is useful to create orphaned topics

Enter part of a topic name to get a list of similar topics, for example:

Note: The Go box is not a search box

-- TWiki:Main.PeterThoeny - 15 Aug 2004

GoodStyle Collaboration Tips

  • TWiki has a very simple text formatting shorthand. In any case, you won't go wrong if you simply:
    • start each line without spaces
    • separate paragraphs with a blank line

  • Run together capitalized words to form WikiWords:
    • WikiWords automatically appear as hyperlinks
    • make up meaningful, reasonably brief Wiki names - it can be a challenge (it'll sharpen you up!)
    • WikiWords has name-creation tips that may help

  • If a discussion is going on:
    • separate each follow-up with a space
    • add your WikiName and the date at the end. Example:
      -- Main.TWikiGuest - 22 Nov 2009
    • OR, by all means, insert your comment where it seems to fit best:
      • you may want to inset it with a bullet and/or set it in italics so it's clear (always sign and date)
    • if you'd like to use an initial, use a link with label. Example:
      -- [[Main.TWikiGuest][ZXQ]] - 22 Nov 2009
      • To automate that, add a bullet like * Initials: ZXQ to your home page.

  • A good format for a new topic is "dissertation followed by discussion":
    • start with a brief, factual introduction, followed by double horizontal rules
    • let the discussion begin

  • When a discussion dies down and the page becomes static, if you're clear on your course, feel free to refactor mercilessly:
    • fearlessly edit down to capture the key points
    • reduce the noise without losing the facts or the flavor
    • if you merge or delete comments, group credit Contributors: at the end of the page
    • This is how Wiki content matures and grows in value over time.

  • For external site links, you can type URLs directly into the text - http://etcete.ra/... - it'll be clear to anyone where they're headed on click.

  • TWiki is intended for world-wide use, and an internationally understood date format like 01 Sep 2003 or 2003/09/01 is preferred. It's clearer than the xx/xx/xx format, where a date like 9/1/01 can mean either Jan or Sep, depending on the local conventions of the readers. For months, use the first three letters: Jan, Feb, Mar, Apr,...

  • TIP: Check the source when you want to find out how something is formatted: click Edit on the lower toolbar. To see earlier versions, click More, then check Raw text format and click View revision. A bit of HTML experience can't hurt, but you'll soon see with TWikiShorthand how far that is from necessary.

-- TWiki:Main.MikeMannix - 01 Dec 2001
-- TWiki:Main.PeterThoeny - 13 Mar 2004

Hare Role

APPROACH Conceptual/Spontaneous

DESCRIPTION The Hare generates the concepts and ideas. They like to reframe the problem and look for solutions that may be unusual, unique,and/or outside the boundaries of traditional thought. Hares are good at exploring alternatives and perceiving the "big picture".

Hares want freedom from constraint, and when a rule exists they may break it. They may act impulsively, letting their feelings guide them. They derive satisfaction from the process of creating,discussing concepts and ideas,and overcoming obstacles.

When everything is in its place,the Hare may become restless,get impatient,and have a tendency to move from one subject to another.

CONTRIBUTION Fresh,original concepts that go beyond the obvious,and are not constrained by fear of failure.

WEAKNESESS Because the Hare enjoys generating ideas, they may move from one idea to another without stopping to evaluate the consequences.

If left alone to refine concepts,they will solve the problem within the problem within the problem,and eventually lose sight of the objective.

INSTINCT Reframing problems to achieve breakthrough solutions,moving in new directions,examining possibilities without regard to risk.

-- SvendSrensen - 12 Dec 2005

Headlines Plugin

This plugin displays RSS feeds from news sites. Use it to build news portals that show headline news.

Note: Syndic8.com ( http://www.syndic8.com/ ) is a good site listing many RSS feeds.

HeadlinesPlugin Global Settings

Plugin settings are stored as preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %HEADLINES_SHORTDESCRIPTION%

  • One line description, shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Build news portals that show headline news based on RSS news feeds from news sites.

  • Set DEBUG to 1 to get debug messages in data/debug.txt. Default: 0
    • Set DEBUG = 0

  • Refresh rate in minutes for cached feeds. Disable caching: 0, default: 30
    • Set REFRESH = 30

  • Maximum number of items shown. Default: 100
    • Set LIMIT = 100

  • Default header: (variables are explained in the syntax rules)
      * Set HEADER = | *[[$channellink][$channeltitle]] [[$imagelink][<img src="$imageurl" alt="$imagetitle" border="0" />]]* |

  • Default format of one item: (variables are explained in the syntax rules)
      * Set FORMAT = | [[$link][$title]] |

Syntax Rules

The %HEADLINES{...}% variable gets expanded to the content pulled from an RSS feed.

%HEADLINES% Parameter Explanation Default
href URL of RSS feed None; is required
refresh Refresh rate in minutes for caching feed; "0" for no caching Global REFRESH setting
limit Maximum number of items shown Global LIMIT setting
header Header. Can include these variables:
- $channeltitle: Title of channel
- $channellink: Link of channel
- $channeldescription: Description of channel
- $imagetitle: Title text for site
- $imagelink: Link for site
- $imageurl: URL of image
- $imagedescription: Description of image
Global HEADER setting
format Format of one item. Can include these variables:
- $title: News item title
- $link: News item link
- $description: News item description
Global FORMAT setting

Examples

Write %HEADLINES{ href="http://slashdot.org/slashdot.rdf" }% to get the latest Slashdot news in table format:

HEADLINES Plugin Error
HeadlinesPlugin: Can't read http://slashdot.org/slashdot.rdf (301 Moved Permanently)

Write %HEADLINES{ href="http://www.moreover.com/cgi-local/page?o=rss&c=Aerospace%20and%20defense%20industry%20news" header="   * [[$channellink][$channeltitle]]:" format="      * [[$link][$title]] ($description)" }% to get Aerospace and defense industry news rendered as a bullet list:

Known issues

  • Topic load time depends on timeit takes to load the RSS feed. A future version might include some caching to improve performance.
  • This plugin uses the undocumented TWiki::Net::getUrl() function. The plugin might break in a future TWiki release.
  • URLs on virtual hosts cannot be read, for example, TWiki:Codev/TWikiSyndication does not work. This is a limitation of TWiki::Net::getUrl()

Plugin Installation Instructions

Note: You do not need to install anything on the browser to use this plugin. The following instructions are for the administrator who installs the plugin on the server where TWiki is running.

  • Download the ZIP file from the Plugin web (see below)
  • Unzip HeadlinesPlugin.zip in your twiki installation directory. Content:
    File: Description:
    data/TWiki/HeadlinesPlugin.txt Plugin topic
    lib/TWiki/Plugins/HeadlinesPlugin.pm Plugin Perl module
  • Test if the plugin is correctly installed:
    • Check if above example shows a news feed instead of variable.

Plugin Info

Plugin Author: PeterThoeny
Plugin Version: 11 May 2005 (V1.004)
Change History:  
11 May 2005: added DevelopBranch? compatability (TWiki:Main.WillNorris)
31 Oct 2004: Fixed taint issue by TWiki:Main.AdrianWeiler; small performance improvement
29 Oct 2004: Fixed issue of eternal caching if mod_perl or SpeedyCGI is used
02 Aug 2002: Implemented caching of feeds, thanks to TWiki:Main/RobDuarte
11 Jun 2002: Initial version (V1.000)
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.004
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/HeadlinesPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/HeadlinesPluginDev

Related Topics: TWikiPreferences, TWikiPlugins

-- PeterThoeny - 02 Aug 2002

Hide/Unhide Attachments

You can hide/unhide file attachments.

  • In the FileAttachment table, click on an action link,
  • enable the Hide file checkbox,
  • then click Change properties

-- PeterThoeny - 13 Nov 2001

FAQ:

How do you log off? Suppose I log in with the guest username but later I want to use another username, how do I log off from the guest user name?

Answer:

To log off from a TWiki site, you must exit your browser and reconnect to the site. When asked, enter the new username and password.

Why is this?

Many TWiki sites use HTTP Basic Authentication, which pops up a window asking for username and password. Once entered, the browser remembers them, and supplies them as part of subsequent references to the site.

HTTP is a stateless protocol. The web server remembers nothing about a user between individual access -- and it can take several accesses to load a single page. The web browser must remember the state of each transaction. You are never really "logged into" a web site -- you have given the browser the codes to unlock each request. Only if the browser does not have credentials to present to a site will it ask for them.

Most browsers do not give the user a way to "forget" the username and password. To log in as a different user, you must exit the browser (perhaps all instances of the browser), and reconnect to the TWiki site.

Back to: TWikiFAQ

-- TWiki:Main/CarlMikkelsen - 14 Apr 2003

ImageGalleryPlugin

Description

This plugin helps you in viewing pictures that are attached to a topic in a nice thumbnail gallery. Clicking on a thumbnail zooms the image. You might navigate within your images using a navigation toolbar to visit the next, previous, first or last image in your gallery. Images and thumbnails are resized according to the given settings and are cached thereafter. The order of images can be customized by putting a sequence number into the attachment comment. An image attachment can be managed by clicking on the red dot in its title. The plugin will generate the document relations "parent", "first", "last", "next", "previous" for each image to improve navigation (only a few browsers support this, e.g. mozilla). The image gallery is highly customizable using cascading stylesheets and html formats (see below).

Example

There are 7 images at TWikiLogos.

Syntax

Arguments

This plugin introduces two tags:
  • %IMAGEGALLERY{...}%: render an image gallery
  • %NRIMAGES%: returns the number of images attachted to a (list of) topics
that both take the following arguments:

Argument Description
topic comma separated list of topics whose attachments should be displayed
(default: the current topic)
size the thumbnail size, the actual geometries of a size can be configured below; possible values: tiny, small, medium, large, huge (default: medium)
columns number of thumbnais to be displayed in one row of the gallery
(default: 4)
docrels flag to disable/enable document relations between images; possible values are on, off, 0, 1 (default: on)
maxwidth maximal display width of an image; images are scaled not to exceed this limit while preserving aspect ratio
(default: 640)
maxheight maximal display height of an image
(default: 480)
minwidth minimal display width of an image; images are scaled not to fall below this limit while preserving aspect ratio
(default: 0)
minheight minimal display height of an image
(default: 0)
format html format of an image
(default: <a href="$origurl"><img src="$imageurl" title="$comment" width="$width" height="$height"/></a>)
titles toggles image and thumnail titles on and off
(default: on)
title html format of an image title; "off" will hide the image's title
(default: $comment ($imgnr/$nrimgs) $reddot)
thumbtitle html format of a thumbnail title; "off" will hide the thumbnail's title
(default: $comment $reddot)

Note, that only topic is meaningful to %NRIMAGES%.

Variables

The parameters "format", "title" and "thumbtitle" can use the following variables to refer to image properties:

Variable Description
$web the web the image is located
$topic the topic the image is located
$nrimages the total number of images in the gallery
$n a linefeed
$reddot render a red-dot anchor to access the attachment
$width the display width of the image
$height the display height of the image
$thumbwidth the thumbnail width of the image
$thumbheight the thumbnail height of the image
$origwidth the original width of the image
$origheight the original height of the image
$size the size of the image
$sizeK the size of the image in kilobytes
$comment the comment of the image (with its sequence number stripped off)
$imgnr the sequence number of the image
$date the date when the image has been uploaded
$version the version of the image attachment
$name the filename of the image
$wikiusername the wikiusername who uploaded the image
$username the username who uploaded the image
$imageurl the url path of the display image
$thumburl the url path of the thumbnail image
$origurl the url path pointing to the original image attachment

Query Parameters

The IGP will check for certain query parameters in the url. These are:
  • id=<n;>: distinguish multiple IMAGEGALLERYs in the same topic
  • filename=<name>: display the given file of the image set
  • refresh=on: recompute all images and thumbnails in the IGP cache
Each IMAGEGALLERY has an anchor, namely a <a name="igp<n>"/>, that is used to scroll the display appropriately.

Customization

First of all this plugin should come with reasonable default values, so that you will get a nice image gallery (with regards to my taste) right on. There are several things that are customizable:
  • customize a gallery using a compination of the arguments described above
  • add custom cascading styles in a topic to format the gallery
  • alter the default cascading styles in the styles.css file attached to this topic
  • customize the plugin settings below

Cascading Stylesheets

The plugin emits the following css classes (see the comments in the styles.css file):

Class Description
igp division for the complete output of the image gallery
igpThumbNails division of all thumbnails
igpThumbNailsTable table of thumbnail images
igpThumbNail table cell of one thumbnail image
igpThumbNailTitle table cell of the thumbnail title
igpPictureTable table of the display image and the navigation bar
igpPicture table cell of the display image
igpPictureTitle division of the title of the display image
igpNavigation table cell of the navigation bar
igpRedDot span surrounding the red dot
igpAlert span surrounding error messages

Adjusting the image sequence

By default the image gallery will display images in the order that they where uploaded. This determines their natural order. When you want to change this order you can prefix the comment of the attachment with a sequence number. For example: given a picture whose comment is "My old bike" that should be put at position 12 in your image gallery then change the comment to "12 - My old bike". This will put the image at the desired position. Sequence numbers don't necessarily need to be unique, that is if there's another picture with a comment like "12 - My new bike" then the natural order of the both is relevant. In general, a picture will be put at position <nr> if its attachment comment has the format
  <nr><space>-<space><comment>
Note, that the $comment variable will only display <comment> , that is with <nr><space>-<space> stripped off.

Plugin Settings

  • Names and sizes for thumbnails (feel free to add additional entries or to modify these defaults)
    • Set TINY = 25x25
    • Set SMALL = 50x50
    • Set MEDIUM = 95x95
    • Set LARGE = 150x150
    • Set HUGE = 250x250

  • cascading style sheets
    • Set STYLE = /pub/TWiki/ImageGalleryPlugin/style.css

  • One line description:
    • Set SHORTDESCRIPTION = Displays image gallery with auto-generated thumbnails from attachments.

Plugin Installation Instructions

  • Download the ZIP file from the ImageGalleryPlugin home
  • Unzip = ImageGalleryPlugin.zip= in your twiki installation directory. Content:
    File: Description:
    data/TWiki/ImageGalleryPlugin.txt plugin topic
    pub/TWiki/ImageGalleryPlugin/style.css cascading style sheets
    lib/TWiki/Plugins/ImageGalleryPlugin.pm plugin interface
    lib/TWiki/Plugins/ImageGalleryPlugin/Core.pm core implementation

Plugin Info

Plugin Author: TWiki:Main/MichaelDaum
Plugin Version: v3.1 (14 Sep 2005)
Change History:  
14 Sep 2005 don't strictly depend on normalizeFilename()
15 June 2005 new release
10 May 2005 fixed igp id clash error found by TWiki:Main/MartinCleaver; capture ImageMagick error messages; don't trust attachment info - check for attachment existence aswell ; added refresh query parameter to recompute images
09 May 2005 fixed errors reported by TWiki:Main/MarcelTrap; added support for multiple topics (proposed by TWiki:Main/MartinCleaver; added %NRIMAGES% tag
  fix error when called from within rename view
03 May 2005 fixed thumbnail resizing; reintroduced titles parameter; support for multiple galleries per topic
27 Apr 2005 complete rewrite
1 Aug 2003 Updates from feedback from a Windows installation
25 Jul 2003 Initial version posted to TWiki.org
15 Mar 2002 Initial (internal) version
CPAN Dependencies: Image::Magick
Other Dependencies:  
Perl Version: 5 something ? (not sure--i'm using 5.8.0)
Plugin Home: TWiki:Plugins/ImageGalleryPlugin
Feedback: TWiki:Plugins/ImageGalleryPluginDev

-- TWiki:Main.MichaelDaum - 14 Sep 2005

Include Topics and Web Pages Using %INCLUDE{...}% Variable

Use the %INCLUDE{...}% variable to embed the content of another topic or web page inside a Reprap topic. The whole content or only parts of a page can be included. If needed, set a proxy server in TWikiPreferences.

Syntax

%INCLUDE{ "page" pattern="reg-exp" rev="1.2" }%

  • "page":
    The nameless parameter specifies the page to include. It is
    • The name of a topic located in the current web, e.g., %INCLUDE{"WebNotify"}%
    • A Web.Topic name specifying a topic in another web, e.g., %INCLUDE{"TWiki.SiteMap"}%
    • A full qualified URL with http protocol, domain name and optional port number, e.g., %INCLUDE{"http://twiki.org:80/index.html"}%. Supported content types are text/html and text/plain. The full page is included by default, but the HTML header and scripts are stripped in case it is a web page.

  • pattern="reg-exp":
    The pattern parameter is optional and allows you to extract some parts of a web page. Specify a RegularExpression that scans from start ('^') to end and contains the text you want to keep in parenthesis, e.g., pattern="^.*?(from here.*?to here).*". You need to make sure that the integrity of a web page is not compromised; for example, if you include a table, make sure to include everything including the table end tag.

  • rev="1.x":
    The rev parameter is optional and allows you to include an earlier revision of a topic. This can be used to include an official version of a topic, e.g. one that has been signed of by management. This parameter does not apply to URLs.

Note: All text of a topic is included unless you specify %STARTINCLUDE%, %STOPINCLUDE% and/or a pattern parameter. A pattern will only search between %STARTINCLUDE% and %STOPINCLUDE%.

Usage Examples

1. Display regression test results in a TWiki page

  <pre>
  %INCLUDE{"http://domain/~qa/v1.1/REDTest.log.txt"}%
  </pre>

2. Display Google's robot.txt file

  • You type:
    • %INCLUDE{"http://www.google.com/robots.txt"}%

3. Display the current time in Tokyo in a TWiki page

  • You type:
    • Tokyo: %INCLUDE{"http://TWiki.org/cgi-bin/xtra/tzdate?tz=Asia/Tokyo" pattern="^.*<\!--tzdate:date--<(.*?)<\!--/tzdate:date-->.*"}%</b<&/code>
  • You get:
    • Tokyo:

See also other TWikiVariables.

-- TWiki:Main.PeterThoeny - 15 Aug 2004

Install an Encrypted Password

This form can be used only by the TWikiAdminGroup users to install an encrypted password generated by a user with ResetPassword.

WikiName and encrypted password of the user:

After submitting this form the user's password will be changed.

Installed Plugins

Plugins are mainly user-contributed add-ons that enhance and extend TWiki features and capabilities. A limited number of plugins are included in the core TWiki distribution - and most those can be removed - while the rest are optional, available from TWiki:Plugins/WebHome.

Here is a list of the plugins currently installed and enabled on this TWiki site:

  • DefaultPlugin: This plugin can be used to specify some simple custom rendering rules. It also renders depreciated *_text_* as bold italic text.
  • SpreadSheetPlugin: Add spreadsheet calculation like "$SUM( $ABOVE() )" to tables located in Reprap topics.
  • CommentPlugin: Allows users to quickly post comments to a page without an edit/preview/save cycle.
  • EditTablePlugin: Edit TWiki tables using edit fields, date pickers and drop down boxes
  • HeadlinesPlugin: Build news portals that show headline news based on RSS news feeds from news sites.
  • ImageGalleryPlugin: Displays image gallery with auto-generated thumbnails from attachments.
  • InterwikiPlugin: Link ExternalSite:Page text to external sites based on aliases defined in the InterWikis topic
  • NewsPlugin: %NEWS% generates a short headlines topic from a list of news
  • RenderListPlugin: Render bullet lists in a variety of formats
  • SlideShowPlugin: Create web based presentations based on topics with headings.
  • SmiliesPlugin: Render smilies as icons, like  :-) for smile or  :cool: for cool!
  • TablePlugin: Control attributes of tables and sorting of table columns

Plugin Diagnostics

Plugins defined

earlyInitPlugin earlyInitPlugin  
initPlugin initPlugin TWiki::Plugins::DefaultPlugin::initPlugin
TWiki::Plugins::SpreadSheetPlugin::initPlugin
TWiki::Plugins::CaptchaPlugin::initPlugin
TWiki::Plugins::CommentPlugin::initPlugin
TWiki::Plugins::EditTablePlugin::initPlugin
TWiki::Plugins::HeadlinesPlugin::initPlugin
TWiki::Plugins::ImageGalleryPlugin::initPlugin
TWiki::Plugins::InterwikiPlugin::initPlugin
TWiki::Plugins::NewsPlugin::initPlugin
TWiki::Plugins::RenderListPlugin::initPlugin
TWiki::Plugins::SlideShowPlugin::initPlugin
TWiki::Plugins::SmiliesPlugin::initPlugin
TWiki::Plugins::TablePlugin::initPlugin
initializeUserHandler initializeUserHandler  
registrationHandler registrationHandler  
beforeCommonTagsHandler beforeCommonTagsHandler  
commonTagsHandler commonTagsHandler TWiki::Plugins::DefaultPlugin::commonTagsHandler
TWiki::Plugins::SpreadSheetPlugin::commonTagsHandler
TWiki::Plugins::CaptchaPlugin::commonTagsHandler
TWiki::Plugins::CommentPlugin::commonTagsHandler
TWiki::Plugins::EditTablePlugin::commonTagsHandler
TWiki::Plugins::HeadlinesPlugin::commonTagsHandler
TWiki::Plugins::ImageGalleryPlugin::commonTagsHandler
TWiki::Plugins::SlideShowPlugin::commonTagsHandler
TWiki::Plugins::SmiliesPlugin::commonTagsHandler
afterCommonTagsHandler afterCommonTagsHandler  
startRenderingHandler startRenderingHandler TWiki::Plugins::DefaultPlugin::startRenderingHandler
TWiki::Plugins::InterwikiPlugin::startRenderingHandler
TWiki::Plugins::RenderListPlugin::startRenderingHandler
outsidePREHandler outsidePREHandler TWiki::Plugins::DefaultPlugin::outsidePREHandler
TWiki::Plugins::SmiliesPlugin::outsidePREHandler
TWiki::Plugins::TablePlugin::outsidePREHandler
insidePREHandler insidePREHandler  
endRenderingHandler endRenderingHandler TWiki::Plugins::EditTablePlugin::endRenderingHandler
TWiki::Plugins::TablePlugin::endRenderingHandler
beforeEditHandler beforeEditHandler  
afterEditHandler afterEditHandler  
beforeSaveHandler beforeSaveHandler TWiki::Plugins::NewsPlugin::beforeSaveHandler
afterSaveHandler afterSaveHandler  
beforeAttachmentSaveHandler beforeAttachmentSaveHandler  
afterAttachmentSaveHandler afterAttachmentSaveHandler  
writeHeaderHandler writeHeaderHandler  
redirectCgiQueryHandler redirectCgiQueryHandler  
getSessionValueHandler getSessionValueHandler  
setSessionValueHandler setSessionValueHandler  
renderFormFieldForEditHandler renderFormFieldForEditHandler  
renderWikiWordHandler renderWikiWordHandler  

Errors

None

Note: The diagnostics are provided by the %FAILEDPLUGINS% variable

Related Topics: TWikiPlugins, TWikiPreferences

-- TWiki:Main.MikeMannix - 12 May 2002
-- TWiki:Main.PeterThoeny - 18 May 2004

Instant TWiki Site Enhancements

These quick enhancements are aimed at improving TWiki's ease-of-use. New TWiki site administrators are especially encouraged to review this document for ideas before deploying a new TWikiSite. The metaphor of building a house is useful. The listed enhancements are some of the details possible when moving into a new office or home. These small changes can make a big differences for user satisfaction at your site. All modifications can be done through your Web browser, and they don't take more then in a couple of minutes. No system administration expertise is required. Some of these enhancements are also mentioned in the reference manual and other topics.

Many of these tips are based on setting some special TWikiVariables.

PICK We recommend implementing at least some of these enhancements right after installation, to get a taste for what is possible. Some of these tips and enhancements should be implemented before or during initial roll-out.

This may spark your imagination to really customize your site so that it's optimal for your users. Slightly more advanced customization tips are listed in TWikiAdminCookBook.


Tips using TWikiVariables

You need to know what is the variable name, and in what page is/should be defined.

Change Colors of Page Header/Footer

Incredibly obvious, maybe, but some TWiki site admins don't get around to changing the default web colors right off, whether they like them or not. Simply changing the defaults will make a huge difference in the overall look.

What we are doing

We want to set variable WEBBGCOLOR in topic WebPreferences to one of the StandardColors. WebPreferences is, as you can guess, a topic which holds all kind of preference setting for each TWiki Web{*}. Each web has its own WebPreferences, and you can set them differently for each web.

How to do it

  1. Pick color code from company or product references, the StandardColors table (recommended for 8-bit client compatibility), or some other color reference.
  2. Go to WebPreferences in each web, and edit the topic.
  3. Set your preferred WEBBGCOLOR preferences variable, and save the topic.
  4. ALERT! Add a new line immediately after the color code. If there is (invisible) space after the color code, the page header might get strange colors (e.g. black).

It's just as easy to refine later on, so you're not locked in, just looking better.

Set Page Background Color

Without getting into the TWikiTemplates system yet, you can easily edit the view.tmpl (in the templates directory). In the HTML at the top, the body tag has the page background hardcoded to white bgcolor="#ffffff". You can change that color value to new variable. First, define a new preferences variable in the site-level TWikiPreferences, e.g. * Set =PAGEBGCOLOR = #d0d0d0, then edit the view.tmpl template file and change bgcolor="#ffffff" to bgcolor="%PAGEBGCOLOR%". If you want you can set the page background color individualy per web, simple add a * Set =PAGEBGCOLOR = #d0d0d0 bullet to the WebPreferences to overload the site-level preferences. (Without font color control, you'll have to stick to light colors.

Titles-Only Topic List - WebTopicList

A good first navigation tool for new users, a fast-loading linked list (page titles only) of a web's topics is a quick and easy way see what's available. By default, slower, but more powerfull WebIndex is used.

Without explaining what WEBTOPICLIST is, just try it:

  1. Go to WebPreferences in each web, and edit the topic.
  2. In WEBTOPICLIST variable, replace WebIndex with WebTopicList, and save.

Simple way to create colored text and graphics

This should be enabled, see the "Miscellaneous Settings" in the TWikiPreferences, . If not, look at TWiki:TWiki/TWikiPreferences. Look for variables RED, BLUE etc (which define HTML tag FONT). To copy/paste the variables defining the colors you need to see the source text, but Edit is disabled. Instead, go to More and view the topic in raw format.

EZ Graphic Icons to Highlight Text

Graphics in text (like this: ALERT!) is done also by defining special variables. See TWiki.TWikiPreferences. Some may prefer longer names, like HELP, WARN etc. You can also add your own images, e.g. a NEW, or a ASK to ask question.

TIP Using graphic icons to highlight important text right from the start can seriously improve how well new users take to a TWiki site. A minimum set of two or three icons can make content much easier to follow, eye-catching, EXCITING. Research says, people tend not to read pages through, but scan them first - and graphics (used sparringly wink of course) can help them. On HELP pages, most people tend to jump around looking for answers rather than reading through - icons help point out the most important bits.

How to create your own set of icons:

  1. Go to the Preferences topic: TWikiPreferences for site-wide use, or WebPreferences for use in one web only.
  2. Attach a graphic (the ones on this page are 16x16 pixels), then define a Preference Variable with a short but recognizable name.
  • Example: Enter %TEST% to get %TEST% - see how it's done.
  • TIP Ideas for quick icons: NEW; UPDATE; a STAR or other bullet; key symbols relating to your site content.
  • For documentation and help, this TWiki web uses three main icons: HELP for HELP, TIP for TIP, ALERT! for IMPORTANT.
  • Related: There are other approaches for creating more extensive TWiki icon libraries. This is a simply and quick way to get started. See TWikiDocGraphics for more info.

Use TOC variable to create table of content

TOC is Table-Of-Content, generated automagically from headers (defined like that: ---++ , see TWikiShorthand).

For example, you may want to put all your custom variables in TWikiPreferences right on top of the page, and generate table of contens, like:

  • Preferences for easy creating nice pages
    • Graphics icons in text
    • Colored text
  • System Preferences
    • Contents of page header and footer
    • User interface defaults
    • Email
    • Plugins
    • Notes

Non-admin users wil be interested only in first part, non-system preferences.


Personal Productivity - Tools and Tips for Working Faster

Although this area applies to all TWiki set-ups, the initial focus is on TWiki site managers working on a Linux/Apache TWiki site, from a Windows local PC. The assumption being: if you're working with Linux as your desktop, you're probably a programmer or system admin and have these basics handled!

Use your favorite text editor for major edits

When you have a fair bit of TWiki formatting work - for example, compiling new info pages from various cut'n'paste sources, editing multiple TWiki topics or contributed material - it's often easier to use a real TextEditor instead of the browser's text edit box. There are several methods for doing this. For Windows, there are several well-recommended text editors.

Windows Example: TextPad is a low-cost, top flight Windows program, with an extended trial period. You can download from a well-stocked library of user-contributed macros, dictionaries, and syntax and clip files. You can also easily create a TWiki clip collection that allows you to format text with TWiki code: select a text string and click for bold, italic, links, bullet lists - just like a regular HTML editor - and also insert blocks of TWiki code, use simple or regex search and replace, more.

Copy & Paste: Using the web window this can work very well. System differences may present difficulties with this method but it is simple and reliable in most cases.

Browser Integration: Some web browsers can be configured to automatically use an external editor. See your browser documentation for details. Such a configuration and a small tool for Linux is described in an example on TWiki.org. TWiki:Codev/EditDaemonWithGVimIntegration

Alternate Browser: While your main browser might not have the features for TWikic topic editing, another one might.

  • An example on the Linux platform is the w3m pager/browser for Linux. This is a text based version similar to lynx but it includes text editor features and a configurable command set to act like lynx if you are more accustomed to it.

Ready to use SEARCH

Personal directory of topics you're involved in

Here's how you can create your own personal directory of topics you've contributed to recently. Copy the text below (between Start Copy and End Copy) and paste it into your personal page (TWikiGuest). You can add other webs to search by duplicating one of the web subsections and editing the string {web ="webname"} in the search parameters to refer to the specific web you want to search. This script would also work for a group.

Start Copy

__Here's a list of topics I've been involved in recently:__

---++++ Codev

%SEARCH{ "InstantEnhancements" web="Codev" scope="text" nosearch="on" nosummary="on" noheader="on" nototal="on" order="modified" reverse="on" limit="20"}%
---++++ Support

%SEARCH{ "InstantEnhancements" web="Support" scope="text" nosearch="on" nosummary="on" noheader="on" nototal="on" order="modified" reverse="on" limit="20"}%

---++++ TWiki

%SEARCH{ "InstantEnhancements" web="TWiki" scope="text" nosearch="on" nosummary="on" noheader="on" nototal="on" order="modified" reverse="on" limit="10"}%

End Copy

The SEARCH variable has many more formatting options, see TWikiVariables.

Recently changed pages

Here, last 15 is formatted into neat table.

<table>
%SEARCH{ "\.*" scope="topic" regex="on" nosearch="on" nototal="on" order="modified" reverse="on"  format="<tr><td>  [[$topic][$topic]] </td><td>  $wikiusername  </td><td> $date  </td></tr>" limit="15" }%
</table>


Hidden Edit Lock for Individual Topics

When you're creating main gateway pages, you may want to temporarily (or permanently) restrict editing to yourself or a limited group of people. You can do this with a Preference setting that includes one or more users and groups. Only auhorized users will be able to use Edit.

  • Example: Set ALLOWTOPICCHANGE = Main.UserName, Main.GroupName
  • TIP To hide the setting: Use HTML comment tags - put <!-- on the line _above the setting, and --> on the line below.
  • This is in the regular help files but worth highlighting.


Change the Default Site Logo

If you want to change the default TWiki logo, attach a new graphic to a topic of choice and change the WIKILOGOIMG variable in the TWikiPreferences, e.g.

  • Set WIKILOGOIMG = %PUBURL%/TWiki/MyLogo/mylogo.gif


Customize Topic Classification Forms

With a simple one or two-line default topic form available for every topic - in Edit mode, click the [Add] button, and select the form if it isn't alredy enabled. Then, click the title to get to the actual form, [Edit], and carefully change values, probably basic page classifications. You'll get some increased value, and hands-on experience with TWikiForms, without having to read up about them first. ALERT! (add the corresponding search per category - copy a default and change)


Add Your Favorite JavaScript Features

You're no doubt familiar or better with HTML, JS, and "webmastering". Without getting into the TWikiTemplates system yet, you can easily edit the view.tmpl (in the templates directory) for some dramatic effects. The top of the template is mostly regular HTML with some variables. Open up some space in the <head> area, and you can drop in reliable JavaScripts - a pop-up window script, for example - or tag it as an external script.

  • TIP Obviously, you can do the same - place a link to an external stylesheet as well. If you set values for standard HTML tags, you can control a good deal of the type size, style and color with out adding CSS tags. example

ALERT! Depending on what you load up, you may change the overall cross-browser compatibility - however be careful that your site does not look beat up in various other browsers. The scripts you choose will determine compatibility.


TIP NOTE: Feel free to add your own tips to TWiki:TWiki.InstantEnhancements as quick notes at the end of the list, following the existing format!

Contributors: TWiki:Main.GrantBow, TWiki:Main.LynnwoodBrown, TWiki:Main.MikeMannix, TWiki:Main.PeterMasiar, TWiki:Main.PeterThoeny, TWiki:Main.MattWilkie

Inter-Wiki Link Rules (or Links to other Sites)

This topic lists all aliases needed to map Inter-Site links to external wikis/sites.

Whenever you write ExternalSite:Page it will be linked automatically to the page on the external site. The link points to the URL corresponding to the ExternalSite alias below, concatenated to the Page you choose. Example: Type Wiki:RecentChanges to get Wiki:RecentChanges, the RecentChanges page at the original Wiki site.

How to define Inter-Site links

  • Inter-Site links are defined in the tables below.
  • Each entry must be of format:
    | External site alias | URL | Tooltip help text |.
  • The URL and Tooltip Text may contain optional $page variables; the variable gets expanded to the page name.
  • Note: The Tooltip Text must not contain any HTML tags (including <nop> escape code), no internal WikiWord links, and no external links. Hint: Escape 'WikiWords' and '$page'.

General Inter-Site Links

Alias: URL: Tooltip Text:
Acronym http://www.acronymfinder.com/af-query.asp?Acronym=$page&String=exact Look up '$page' on Acronym Finder site
Dictionary http://www.dictionary.com/cgi-bin/dict.pl?term= Look up '$page' at Dictionary.com
Google http://google.com/search?q= Search for '$page' on Google
Group http://groups.google.com/groups?hl=en&safe=off&group= News group '$page' at Google.com
ISBN http://service.bfast.com/bfast/click?bfmid=2181&sourceid=38704253&bfpid= Book with ISBN#$page (One click patent? Say no to Amazon!)
RFC http://www.faqs.org/rfcs/rfc$page.html IETF RFC #$page

Inter-Wiki Links

Alias: URL: Tooltip Text:
Advogato http://www.advogato.org/ '$page' on Advogato community site (with peer review)
C2find http://c2.com/cgi/wiki?FindPage&value= Search '$page' on the original 'WikiWikiWeb' site
DolphinWiki http://www.object-arts.co.uk/wiki/html/Dolphin/$page.htm '$page' on Dolphin Wiki site
FoxWiki http://fox.wikis.com/wc.dll?Wiki~ '$page' on Fox Wiki site
HammondWiki http://www.dairiki.org/HammondWiki/index.php3? '$page' on 'HammondWiki' site
LegoWiki http://www.object-arts.com/wiki/html/Lego-Robotics/ '$page' on 'LegoWiki' site
MbTest http://www.usemod.com/cgi-bin/mbtest.pl? '$page' on 'UseMod' Wiki variant
MeatBall http://www.usemod.com/cgi-bin/mb.pl? '$page' on 'MeatBall' site, a 'UseMod' Wiki variant
MoinMoin http://moin.sourceforge.net/cgi-bin/moin/moin/ '$page' on 'MoinMoin' Wiki site
MuWeb http://www.dunstable.com/scripts/MuWebWeb? '$page' on 'MuWeb' site
OrgPatterns http://www.easycomp.org/cgi-bin/OrgPatterns? '$page' on Organizational Patterns site
PhpWiki http://phpwiki.sourceforge.net/phpwiki/index.php3? '$page' on Wiki site written in PHP
PolitizenWiki http://www.politizen.com/wiki.asp? '$page' on 'PolitizenWiki' site
PPR http://c2.com/cgi/wiki? '$page' on the original 'PortlandPatternRepository' site
PyWiki http://www.voght.com/cgi-bin/pywiki? '$page' on Wiki site written in Python
Squeak http://minnow.cc.gatech.edu/squeak/ '$page' on Squeak Smalltalk Wiki
TWiki http://twiki.org/cgi-bin/view/ '$page' on TWiki.org
UseMod http://www.usemod.com/cgi-bin/wiki.pl? '$page' on 'UseMod' Wiki site
VisualWorks http://wiki.cs.uiuc.edu/VisualWorks/ '$page' on 'VisualWorks' site
Wiki http://c2.com/cgi/wiki? '$page' on the original 'WikiWikiWeb' site
Wikipedia http://en.wikipedia.org/wiki/ '$page' on 'Wikipedia'
ZWiki http://joyful.com/zwiki/ '$page' on Zope's Wiki

Note: This topic is powered by the InterwikiPlugin.

Interwiki Plugin

The InterwikiPlugin links ExternalSite:Page text to external sites based on aliases defined in the InterWikis topic. This plugin is inspired by UseMod Wiki's inter-wiki links, http://www.usemod.com/cgi-bin/wiki.pl?InterWiki.

Syntax Rules

InterwikiPlugin Settings

Plugin settings are stored as Preferences variables. To reference a plugin setting write %<plugin>_<setting>%, for example, %INTERWIKIPLUGIN_SHORTDESCRIPTION%

  • One-line description, shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Link ExternalSite:Page text to external sites based on aliases defined in the InterWikis topic

  • Link rules topic name: (default is InterWikis)
    • Set RULESTOPIC =

  • Suppress tooltip help for links: (0 or 1, default is 0)
    • Set SUPPRESSTOOLTIP = 0

  • Debug plugin: (See output in data/debug.txt)
    • Set DEBUG = 0

Plugin Installation Instructions

ALERT! NOTE: This Plugin is included in the TWiki distribution package. You do not need to install it unless you want to upgrade to a newer version.

  • Download the ZIP file from the TWiki:Plugins web (see below)
  • Unzip InterwikiPlugin.zip in your TWiki installation directory. Content:
    File: Description:
    data/TWiki/InterwikiPlugin.txt Plugin topic
    data/TWiki/InterWikis.txt Link rules topic for inter-site links
    lib/TWiki/Plugins/InterwikiPlugin.pm Plugin Perl module
  • Test: If the Plugin is correctly installed, this Wiki:InterWiki link should point to http://c2.com/cgi/wiki?InterWiki topic - try it out.

Plugin Info

Plugin Author: TWiki:Main.AndreaSterbini, TWiki:Main.PeterThoeny
Plugin Version: 25 Aug 2004, 1.005
Change History:  
25 Aug 2004: Updated InterWikis link rules (no code change)
09 Mar 2004: Internal changes: Use only official TWiki::Func Plugin API; for increased speed, moved Interwiki link handling from outsidePREHandler to startRenderingHandler
16 Feb 2004: Support [[Site:Page][label]] Interwiki links (PTh); use TWiki::Func interface for I18N regular expressions (Walter Mundt)
18 Jan 2003: Allow number sign # in Page name (PTh)
31 Aug 2002: Allow percent sign % in page name (PTh)
27 Jul 2001: Allow numbers 0-9 in site name
26 Jul 2001: Fixed alternating missed link bug due to greedy $postfixPattern (fix by Richard Donkin)
14 Jul 2001: Changed to plug & play
16 Jun 2001: Made tooltips optional; prevent Module::Sub type of link
12 Jun 2001: Added optional tool tips (IE only); added the link rules topic name variable; added flexible link patterns; optional $page in URL
10 Jun 2001: Changed rules topic to table-based syntax
20 Feb 2001: Initial version
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.0
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/InterwikiPlugin (TWiki:Plugins/InterwikiPlugin)
Feedback: http://TWiki.org/cgi-bin/view/Plugins/InterwikiPluginDev (TWiki:Plugins/InterwikiPluginDev)

Related Topics: InterWikis, TWikiPreferences, TWikiPlugins

-- TWiki:Main.AndreaSterbini - 20 Oct 2000
-- TWiki:Main.MikeMannix - 01 Oct 2001
-- TWiki:Main.PeterThoeny - 25 Aug 2004

Main Features of TWiki

  • Any web browser: Edit existing pages or create new pages by using any web browser. There is no need to upload pages.
  • Edit link: To edit a page, simply click on the Edit link at the bottom of the page.
  • Auto links: Web pages are linked automatically. You do not need to learn HTML commands to link pages.
  • Text formatting: Simple, powerful and easy-to-learn text formatting rules. Basically you write text like you would write an e-mail.
  • Webs: Pages are grouped into TWiki webs (or collections). This allows you to set up separate collaboration groups.
  • Search: Full text search with/without regular expressions. See a sample search result.
  • E-mail notification: Get automatically notified when something has changed in a TWiki web.
  • Structured content: Use TWikiForms to classify and categorize unstructured web pages and to create simple workflow systems.
  • File attachments: Upload and download any file as an attachment to a page by using your browser. This is similar to file attachments in an e-mail, but it happens on web pages.
  • Revision control: All changes to pages and attachments are tracked. Retrieve previous page revisions; compare differences; find out who changed what and when.
  • Access control: Define groups and impose fine-grained read and write access restrictions based on groups and users.
  • Variables: Use variables to dynamically compose your pages. This allows you for example to dynamically build a table of contents, include other pages, or show a search result embedded in a page.
  • TWiki plugins: Easily install program enhancements using external plug-in modules. Developers can create plug-ins in Perl using the TWiki Plugin API.
  • Templates and skins: A flexible templating system separates program logic and presentation. Skins overwrite template headers and footers; page content is unaffected.
  • Managing pages: Individual pages can be renamed, moved and deleted through the browser.
  • Managing users: Web-based user registration and change of password.
  • Statistics: Create statistics of TWiki webs. Find out most popular pages and top contributors.
  • Preferences: Three levels of preferences: TWikiPreferences for site-level, WebPreferences for each web, and user level preferences.
  • Topic locking: Users are warned if a page is being edited by another person. This is to prevent simultaneous page editing.
  • Referred-By: Find the pages that contain links to a topic.

Managing Topics

Browser-based rename, move, and delete for individual topics

Overview

You can use browser-based controls to change a topic's name, move it to another TWiki web, or delete it to a hidden Trash web.

How to Rename/Move/Delete a Topic

  1. Click on [More] (bottom right of page) on the topic to be changed, then, in the new screen, on [Rename/move]. You can now rename and/or move/delete in one operation:
  2. Move/Delete: Select the target web if other than the current web - choose Trash to delete a topic.
  3. Rename: Enter the new topic name - default is current name
    ALERT! NOTE: You'll be warned if any of the topics to be affected are locked (being edited), or if there is a name conflict.
  4. Prevent updates by unchecking individual items on the list of referring links - these topics will NOT to be updated with the new name (by default, all referring links will be updated).
  5. Click on [Rename/Move]: the topic will be renamed and links to the topic updated as requested.
    • If any of the referring pages are locked then they will be listed: you can correct these later by again pressing [Rename/Move].
    • HELP There is a Put back feature that allows you to undo a Rename/Move/Delete - an instruction line and undo link will appear at the bottom of the modified topic. This allows you to revert from the last modification only.

Deleted Topics: How to Clear the Trash

Deleted topics are moved to a special Trash web - they are NOT physically erased from the server. All webs share Trash - in case of a name conflict with a topic already Trash, the user is alerted and asked to choose a new name.

The Trash web should be be cleared periodically, by archiving (saving) the text and RCS files if required (recommended), then deleting them from the Trash directory.

  • ALERT! This can only be done from on the server, not through the browser.
    • TIP Since simple FTP access to the Trash directory is all that's required for maintenance, it's possible to grant Trash admin privileges to multiple users, while strictly limiting server access.

Redirecting from an Old Topic

You can use TWikiMetaData to place a command in the WebTopicViewTemplate and WebTopicNonWikiTemplate that will indicate that a topic has been moved by searching for the tag %META:TOPICMOVED{...}%. Customize something like this:

%<nop>METASEARCH{type="topicmoved" web="TWiki" topic="ManagingTopics" 
title="This topic used to exist and was moved to: "}%

How Rename/Move Works

  1. %SEARCH%, with a special template, finds and displays all occurrences of the topic name in other topics, site-wide. These referring links are by default automatically changed to the new topic and/or web name. This includes relevant TWikiMetaData definitions.
    • User can omit one or more topics from the update list by unchecking them.
    • <pre> and <verbatim> are honoured - no changes are made to text within these areas.
  2. The topic is moved (if locks allow).
  3. References are changed (locks and permissions permitting).
  4. Any referring topics that can't be changed due to locks are listed - user can take note and change them at another time.

How Referring Topics Are Found

Referring topics are found using the %SEARCH% variable - see the template searchrenameview.tmpl. First, matching topics in the current web are listed - matches are to topic. Next, all webs (including the current one) are listed that match web.topic. Because %SEARCH% is used, webs marked in WebPreferences as NOSEARCHALL will not show up in the search for references to the topic being changed.

Changed references are kept are as short as possible, ex: topic is used in preference to web.topic.

Effect of User Access Settings

User permissions affect the Rename function in various ways. To rename a topic, you need both ALLOWTOPICCHANGE and ALLOWTOPICRENAME permission for that topic. To alter referring topics, you need change permission. See TWikiAccessControl for information on setting up access permissions.

Special Considerations

Consider carefully whether to make browser-based Rename/Move/Delete widely available, or to restrict it to an administrator/moderator group. Allowing all users to easily manipulate topics can be extremely useful in refactoring a busy web or site. However, there are at least two significant potential drawbacks to take into account:

  • When referring links are updated, the modified topics appear in WebChanges, creating the impression that editorial changes were made. This can undermine the usefulness of WebChanges.
  • Due to current limitations, fairly heavy use of Rename/Move/Delete functions can lead to an accumulation of minor technical problems (ex: broken links) and usability issues (ex: user confusion). If Rename... is used heavily, these negatives will obviously increase, in number and effect.

Ultimately, the size, objectives, and policies of your TWiki site, the real-world behavior of your user group, and most importantly, the initial TWiki site management leadership, will determine the most effective implementation of this feature, and the success of the site overall.

Known Issues

Rename/Move is fairly complicated due to the dynamic generation of links. Ideally, it would be possible to run the required part of rendering in a way that would allow identification of the text to be changed. Unfortunately, these hooks don't exist in TWiki at present. Instead, %SEARCH% is used with a special template to show the text to be changed, and the selected topics are then altered. One drawback is that search can show matches that will not be updated due to case differences. Other mismatches with actual rendered output are also possible as the approaches are so different.

The following shows some limitations of square bracket processing.

[[Old Topic]]  => [[NewTopic][Old Topic]]
[[old topic]]  => [[NewTopic][old topic]]
[[old t opic]] => not changed
[[OldTopic]]   => [[NewTopic]]

-- TWiki:Main.MikeMannix - 27 Dec 2001

Manage Users

Register users on your TWiki site; change/reset/install passwords; remove user accounts

Authentication and Access Control

Register User

Change, Reset and Install Passwords

  • ChangePassword is for users who remember their password
  • ResetPassword is for users who do not remember their password; they are asked to send a request to the site administrator to install a new password
  • InstallPassword is for the site administrator to install a password

Removing User Accounts

To remove a user account:

  1. Edit the data/.htpasswd file to delete their entry (only applies if you are using a .htpasswd file)
  2. Remove the FredQuimby line from the Main.TWikiUsers topic
  3. Remove user from all groups and from all the ALLOWWEB/ALLOWTOPIC... declarations, if any.
    Note: Otherwise this is a security hole as the first one to re-register with this name will be granted the permissions of the previous user.
  4. [optional] Remove their topic files: data/Main/FredQuimby.txt and data/Main/FredQuimby.txt,v

Note: Consider leaving the user topic file in place so their past signatures and revision author entries don't end up looking like AnUncreatedTopic?. If you want to make it clear the user is inactive on your site (e.g. PeterThoeny) or has been banished add a note to that effect and write protect the page (TWikiAccessControl). The existance of the UserName topic prevent that user name from being re-used.

-- TWiki:Main.MattWilkie - 21 Jul 2003
-- TWiki:Main.PeterThoeny - 15 Aug 2004

Managing Webs

Adding webs is a web based operation; renaming and deleting webs are manual operations done directly on the server

Overview

A TWikiSite is divided into webs; each one represents one subject, one area of collaboration. Administrators can add/rename/delete webs.

Choose Web Template

There are two methods used to create a new web. First you can use a specially designed TemplateWeb. This is an invisible web that begins with an underscore "_" character. All topics in the _default template web will be copied into your new web.

The second method is to use an existing web as a template web. This may be useful if you already have a web that you like to use as a starting point. Only topics that have names beginning with Web... (like "WebHome", "WebNotify", etc.) are copied.

In either case you will want to be sure to verify that your new web has all the custom modifications that you desire.

Adding a New Web

Create a new web by filling out this form. Note: It is not recommended to create a new web for each little project. You can organize content within a web using TWikiForms and FormattedSearch. Cross-linking topics and search is easier if there are only a few larger webs.
Name of new web: Enter a short name of up to 10 characters. The name must start with an upper case letters, followed by optional upper or lower case letters or numbers
Based on web: Select a TemplateWeb
Web color: Enter a StandardColors code for the web
Description:
 
 

Enter a short description of the web. Write Web.TopicName instead of just TopicName if you include links. This will list the web in the SiteMap (leave field empty if you prefer not to update the directory.)
Use to...
 

Continue the sentence describing the intended use. This is also for the SiteMap
Exclude web from "search all": No   Yes Specify if you want to exclude the web from a "search all webs" search. Note that the SiteMap will not list the web if you select Yes.
 

Notes:

  • Attachments will NOT get copied over along with their topics
  • The manage script while creating the new web will update the following variables in the WebPreferences: WEBBGCOLOR, SITEMAPLIST, SITEMAPWHAT, SITEMAPUSETO and NOSEARCHALL. These variables are used to dynamically generate the SiteMap
  • This script does not edit the TWiki.TWikiPreferences file to update the WIKIWEBLIST. This must be done by hand
  • As of TWiki Release 01 Sep 2004, a web name can be a WikiWord. Prior to that it could be only UPPER or UPPERlower. A side effect of this is that if you do use a wiki name, %WEB% must be written as <nop>%WEB% or else it will try to link to a non-existing topic of that name

Renaming or Deleting a Web

Renaming or deleting a web requires direct access to the installation files on the host server. There are currently no browser-based equivalents of the Rename/move/delete topic tools for working with webs.

  1. Prepare your site: Search each web for links to the target web, searching topic text for Oldwebname., including the dot so you'll find references like Oldwebname.SomeTopic
    • Make changes as required, to Newwebname.SomeTopic or better yet, to %MAINWEB%.SomeTopic
  2. Edit the TWikiPreferences topic: Rename or delete the web from the WIKIWEBLIST variable
  3. Login to the Reprap server, via Telnet or FTP
  4. Go to twiki/data and rename or remove the web directory
  5. Go to twiki/templates and rename or remove the web directory if present
  6. Go to twiki/pub and rename or remove the web directory if present

Renaming the MAINWEB

If you plan to rename the Main web, remember that TWiki stores user and group topics in %MAINWEB%, default named Main. That means, every WikiName signature - Main.SomeUserName - points to it and would need updating (unless the variable, %MAINWEB%.SomeUserName, is used throughout).

-- TWiki:Main.MikeMannix - 14 Sep 2001
-- TWiki:Main.PeterThoeny - 07 Apr 2002
-- TWiki:Main.GrantBow - 16 Jan 2003

Merged into TWikiMetaData - this topic to be rolled back.

Meta Data Rendering

Various meta data can be stored in topics - MetaDataDefinition

This is rendered using the %META% variable. This is mostly used in the view, preview and edit scripts.

At present support is fairly basic:

Variable usage: Comment:
%META{"form"}% Show form data, see Form Templates
%META{"attachments"}% Show attachments, excluding hidden ones. Options:
all="on": Show all attachments i.e. including hidden ones
%META{"moved"}% Details of any topic moves
%META{"parent"}% Show topic parent. Options:
dontrecurse="on": By default recurses up tree, this has some cost.
nowebhome="on": Suppress WebHome.
prefix="...": Prefix that goes before parents, but only if there are parents, default "".
suffix="...": Suffix, only appears if there are parents, default "".
separator="...": Separator between parents, default is " > ".

Possible future additions:

  • Rendering of form data to alternate formats e.g. bullet lists
  • Specify a template to be used for rendering

-- JohnTalintyre? - 29 Aug 2001
-- PeterThoeny - 10 Jan 2002

MoveTopic (01 Sep 2001 - 07:38 - r1.2 - MikeMannix?)
ManagingTopics can be used to move a topic from one Web to another. One specialised use of this is DeleteWeb?.
%SPLIT%
  • %KEY%: %VALUE%%SPLIT%

My Links

Personal Preferences (details in TWikiVariables)

  • Show tool-tip topic info on mouse-over of WikiWord links, on or off: (see details in TWikiPreferences)
    • Set LINKTOOLTIPINFO = off
  • Horizontal size of text edit box:
    • Set EDITBOXWIDTH = 70
  • Vertical size of text edit box:
    • Set EDITBOXHEIGHT = 22
  • Style of text edit box. width: 99% for full window width (default), width: auto to disable.
    • Set EDITBOXSTYLE = width: 99%
  • Optionally write protect your home page: (set it to your WikiName)
    • Set ALLOWTOPICCHANGE =

Related topics

APPROACH

Spontaneous/Practical

DESCRIPTION

The Owl recognizes ideas and new directions in their early stages and develops the means to promote or advance them. When presented with an idea,they think of how to get it implemented,using insightful planning based on past experiences and successful methods. The Owl may initially respond to ideas with skepticism,but will let accepted norms and their feelings guide them.

They derive satisfaction from instilling a sense of purpose in the team, and promoting that purpose with single-mindedness and determination. Their actions are directed to achieving objectives by the most direct,efficient means,and they are not inclined to let rules and boundaries discourage them.

The Owl is able to focus on many things at once,and may move from one subject to another. They enjoy respect and influence.

CONTRIBUTION

Energetically promoting team objectives. Recognizing the value of a new idea or trend,and actively carrying it forward.

WEAKNESESS

If left alone or working only with someone with a strong Conceptual Approach, the Owl may move ahead to implement concepts that aren't completely thought through, ignoring danger signs and realistic barriers to successful implementation.

INSTINCT

Choosing the highest priority ideas, and moving swiftly to see them implemented.

-- SvendSrensen - 12 Dec 2005

PatternSkin (06 Sep 2004 - 22:14 - r1.15 - ArthurClemens?)

Pattern skin

PatternSkin is developed to provide a CSS based default look and feel for TWiki - flexible and W3C-compliant. Its layout and color scheme are designed to provide a nice, clean and productive editing environment. For use in corporate or perhaps in personal websites it should be fairly easy to tune the looks or even create a PatternSkin-based new skin.

Screen Shot

Click for full screen image

Supported browsers

PatternSkin has been tested successfully on the following browsers:

  • Windows
    • Internet Explorer 6.0, 5.5 (note: Explorer 5.0 is not supported: will function but shows visual quirks)
    • Mozilla/Firefox 0.9.3
  • Mac OS X
    • Safari 1.2
    • Mozilla/Firefox 0.9.3
  • UNIX (GNU/Linux, BSD, etc.)
    • Mozilla/Firefox 0.9.3

Installation

Note: You do not need to install anything on the browser to use this skin. The following instructions are for the administrator who installs the skin on the server where TWiki is running.

Note 2: PatternSkin is included with TWiki by default. Use the following instructions only if you are upgrading PatternSkin.

Troubleshooting

If you have set the SKIN variable setting to pattern and you still don't see the layout as on the screenshot, a few settings in may have been disabled.

Check these variables here:

If TWIKILAYOUTURL or TWIKISTYLEURL don't give a value or point to non-existing files, check in TWikiPreferences that the following variables do exist and that they are set to on:

   * %TWIKIWEB%.PatternSkin settings:
      * Set TWIKILAYOUTURL = %PUBURL%/%TWIKIWEB%/PatternSkin/layout.css
      * Set TWIKISTYLEURL = %PUBURL%/%TWIKIWEB%/PatternSkin/style.css

If this still does not work, contact the administrator who installs skins.

For further troubleshooting and feedback, go to TWiki:Plugins/PatternSkinDev.

Creating your own look

It is easy to tune the look and feel of PatternSkin by changing the color and space (margin, padding) settings in the Style Sheet files.

You may also choose to radically change the look and create a PatternSkin-based new skin. This is easier than to create a skin by writing new template files; you can concentrate on how things should look instead of what elements should get displayed.

There are 3 ways to quickly change the look of PatternSkin:

  1. Change the layout.css and style.css attachment files for this topic (upload updated versions)
  2. In TWikiPreferences, point the variables TWIKILAYOUTURL and TWIKISTYLEURL to other attachments, perhaps in another topic (your new skin topic?)
  3. Use a topic to define a style

See for practical details: PatternSkinCustomization
For more detailed information: the CSS classes that PatternSkin uses are documented in PatternSkinCss.

Customization

See: PatternSkinCustomization, PatternSkinPalette

Further reading

Skin Info

Description: Provides a CSS based default look and feel for TWiki - flexible and W3C-compliant
Screenshot: Click for full screen image
Base Name: pattern
Skin Author: TWiki:Main/ArthurClemens
Skin Version: 01 Sep 2004 (v.1.0.10)
History:  
01 Sep 2004: v.1.0.10 - Fixes search results display problems on Windows Explorer
28 Aug 2004: v.1.0.9 - CAIRO RELEASE VERSION - Removed twikiTopic div from attach template
24 Aug 2004: v.1.0.8 - Fix for disabled TablePlugin; added plain.pattern.tmpl
23 Aug 2004: v.1.0.7 - Change to checkboxes in edit and preview screen; removed REVINFO at bottom; style changes
22 Aug 2004: v.1.0.6b - Removed files from zip that are now part of the TWiki distribution; removed .DS_Store files
17 Aug 2004: v.1.0.6 - Support for twikiMoved css class
17 Aug 2004: v.1.0.5 - Fix for not showing SEARCHSTRING
16 Aug 2004: v.1.0.4 - Fixes search results layout with noheader="on"
14 Aug 2004: v.1.0.3 - Update to attach template, css fix to edit template
14 Aug 2004: v.1.0.2 - Fixes print template, table paddings in topics, minor changes to style.css
13 Aug 2004: v.1.0.1 - Updated /data/TWiki/WebLeftBarPersonalTemplate and style.css
08 Aug 2004: Initial version (v.1.0.0)
Dependencies:  
Skin Home: http://TWiki.org/cgi-bin/view/Plugins/PatternSkin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/PatternSkinDev
Download: http://TWiki.org/cgi-bin/view/Plugins/PatternSkin

Related topics

See also Further reading on this page.

Other skins:

Feedback

Leave remarks, suggestions and other feedback in TWiki:Plugins.PatternSkinDev.

-- ArthurClemens? - 06 Sep 2004

Css elements in PatternSkin

This page is a reference for all CSS classes used in PatternSkin.

The PatternSkin stylesheet is divided in two files:

  • layout.css: positioning of block elements on the page
  • style.css: appearance of blocks and all other page elements

If you want to learn how to create your own look or skin based on PatternSkin, read further in PatternSkin.

Naming conventions

PatternSkin follows the naming conventions used in TWiki core code: all TWiki class names have the prefix twiki: twikiEditPage, twikiTopicAction, etcetera. ID names are not used, only class names, to allow multipe class names. See also: TWikiCss.

Namespaces

PatternSkin uses namespaces for templates, by adding one (sometimes two - multiple) class names to the template's body tag.

  • The body tag in view.pattern.tmpl for instance has the class name "twikiViewPage": <body class="twikiViewPage">. All CSS elements specific to the view template thus can be defined as .twikiViewPage .someClassName.
  • All templates that are not the view template have the body class name "twikiNoViewPage". That makes it easy to give all of these pages a different layout in one sweep (smaller or wider margins for instance). Template edit.pattern.tmpl uses <body class="twikiNoViewPage twikiEditPage">.

body class names

  • .twikiViewPage
  • .twikiViewPage .twikiPrintPage
  • .twikiNoViewPage
  • .twikiNoViewPage .twikiEditPage
  • .twikiNoViewPage .twikiAttachPage
  • .twikiNoViewPage .twikiChangeFormPage
  • .twikiNoViewPage .twikiDiffPage
  • .twikiNoViewPage .twikiRenamePage
  • .twikiSearchResultsPage

Layout classes

  • General
    • .twikiLeft - a left floating element
    • .twikiRight - a right floating element
    • .twikiClear - to clean up either of these floats: put immediately after the containing block
    • .twikiHidden - hidden element

  • TWiki block elements
    • .twikiMiddleContainer - holder for twikiMain and twikiLeftbar
    • .twikiLeftBar - left bar area
    • .twikiLeftBarContents - used for left menu
    • .twikiMain - holder of twikiToolbar, twikiTopic, twikiAttachments, etc.
    • .twikiTopBar - top bar area
    • .twikiBottomBar - bottom bar area

  • Layout adjustments on specific pages
    • .twikiNoViewPage .twikiMain
    • .twikiPrintPage .twikiMain
    • .twikiPrintPage .twikiBottomBar

Style classes

  • .twikiMiddleContainer - holder for twikiMain and twikiLeftbar
  • .twikiMain - holder of twikiToolbar, twikiTopic, twikiAttachments, etc)
  • .twikiTopBar - top bar area
  • .twikiTopBarContents - logo, go box
  • .twikiLeftBar - left bar area
  • .twikiWebIndicator - shows current Web name; background of color %WEBBGCOLOR%
  • .twikiLeftBarContents - used for left menu (a bullet list)
  • .twikiLeftBarPersonal - block of personal links (included topic %MAINWEB%.%USERNAME%LeftBar)
  • .twikiBottomBar - bottom bar area
  • .twikiBottomBarContents - copyright
  • .twikiTopic
  • .twikiAttachments - attachment table; used in template attachtables.tmpl
  • .twikiForm - WebForm table; used in template attachtables.tmpl
  • .twikiTopicAction - actions buttons at bottom of page; holder of table with buttons
  • .twikiTopicActionSecondary - second layer above twikiTopicAction (for instance in Preview)
  • .twikiTopicActionHelp - help text row
  • .twikiCancelCol - table columns (td) for cancel button
  • .twikiSubmitCol - table columns (td) for submit button
  • .twikiAddCol - table columns (td) for additional button/link (for instance: "Move attachment")
  • .twikiSeparator - separator character
  • .twikiToc - topic contents (%TOC%)
  • .twikiTocTitle - title of TOC (%TOC{title="Contents:"}%)
  • .twikiTopicInfo - revision (%REVINFO%) and moved (%META{"moved"}%) info
  • .twikiRevInfo - revision info (top and bottom of page)
  • .twikiTopicFooter - used for breadcrumb (twikiHomePath)
  • .twikiHomePath - breadcrumb
  • .twikiToolBar - action buttons at top of topic (a bullet list), revision info
  • .twikiPageNav - links "end of topic" and "to top"
  • .twikiSearchBox - go box and current page in top bar
  • .twikiHelp - help text
  • .twikiBroadcastMessage - BROADCASTMESSAGE
  • .twikiAlert - red
  • .twikiGrayText - grayed out text, literally gray
  • .twikiSmall - styled "small"
  • .twikiNewLink - style of links to yet non-existent pages (not used)

  • Table class names (emitted from TablePlugin)
    • .twikiSortedAscendingCol - sortable table column header that is sorted ascending (uses TablePlugin)
    • .twikiSortedDescendingCol - ditto sorted descending
    • .twikiFirstCol
  • Other table class names
    • .twikiVersatileTable - table used in various places (Attach, Rename, Changeform)
    • .twikiVersatileTable .twikiMainCol - table column that is the most important part of the table
    • .twikiVersatileTable .twikiOldCol - table column with 'old' appearance, for instance the old attachment or the old topic name
    • .twikiVersatileTable .twikiHelpCol - table column with help texts

  • Search
    • .twikiNew - emitted from Search.pm and Changes.pm with the text NEW
    • .twikiSummary - summary text with search results
    • .twikiSearchResults - the big block of all results
    • .twikiSearchResultsHeader - top of block, styled with %WEBBGCOLOR%
    • .twikiSearchResults .twikiTopRow - top of one result, with link, author, revision
    • .twikiSearchResults .twikiBottomRow - result summary
    • .twikiSearchResults .twikiAlert - used with "locked" text
    • .twikiSearchResultCount - result count
    • .twikiBookViewList - the big block of all results with book view option

  • Form elements
    • .twikiCheckbox - styled checkbox
    • .twikiRadioButton
    • .twikiSubmit - submit button (in twikiTopicAction this is the darkest button; in twikiTopic it has a lighter color)
    • .twikiButton - general button (in Rename/Delete: clear/select all checkboxes)
    • .twikiSecondary - button next to submit button (same appearance as twikiButton)
    • .twikiTertiary - button at far right (blue color)
    • .twikiCancel - cancel button
    • .twikiEditPage .twikiFormHolder - constrains the width of the textarea
    • .twikiChangeFormButton - emitted from Form.pm, button to change the WebForm - styled as link
    • .twikiEditForm - emitted from Form.pm, editable WebForm table
    • .twikiEditFormTextField - emitted from Form.pm, input textfield in twikiEditForm
    • .twikiSig - signature copy field

  • Preview
    • .twikiPreviewPage .twikiPreviewArea - holder of previewed topic text

  • Attach
    • .twikiAttachPage .twikiNotes - holder of help text
    • .twikiAttachPage .twikiPrevious - attachment table of previous versions

  • Diff
    • .twikiDiffPage .twikiDiffTable - block of revisions; emitted from RDiff.pm (also all diff classes below)
    • .twikiDiffPage .twikiDiffDeletedHeader
    • .twikiDiffPage .twikiDiffDeletedMarker
    • .twikiDiffPage .twikiDiffDeletedText
    • .twikiDiffPage .twikiDiffAddedHeader
    • .twikiDiffPage .twikiDiffAddedMarker
    • .twikiDiffPage .twikiDiffAddedText
    • .twikiDiffPage th.twikiDiffChangedHeader
    • .twikiDiffPage .twikiDiffChangedText
    • .twikiDiffPage .twikiDiffUnchangedText
    • .twikiDiffPage .twikiDiffLineNumberHeader

CSS tags emitted from TWiki core code

See: TWikiCss

Layout per template

View template

CSS layout in View template

-- TWiki:Main.ArthurClemens - 08 Aug 2004

Customization of PatternSkin

This page describes ways to change the layout, fonts and colors of PatternSkin.

Your own TWiki look

You can easily create your own TWiki look by attaching modified css files to your home page:

  • If you want to change the layout of the page, download layout.css from PatternSkin
  • If you want to change the spacing or colors, download style.css from PatternSkin
  • modify the CSS in either style sheet, using tips from this page
  • attach your modified layout.css and/or style.css to your home page
  • as shown below, add the USERLAYOUTURL and USERSTYLEURL settings to your home page
   * Personal TWiki.PatternSkin CSS settings
      * Set USERLAYOUTURL = %PUBURL%/%MAINWEB%/%WIKINAME%/layout.css
      * Set USERSTYLEURL = %PUBURL%/%MAINWEB%/%WIKINAME%/style.css

Screen parts

The PatternSkin view template uses four screen parts:

  • The topic part - contains besides the topic content: action buttons, form table, attachment table, topic info
  • Top bar - used for a logo, contains Go box
  • Left bar - site and web navigation, contains a personal link block; may contain a Go box
  • Bottom bar - copyright, disclaimer

These parts are dynamically included topics:

  • Top bar: WebTopBar
  • Left bar: included topic WebLeftBar (one WebLeftBar topic per web)
    • Personal links block: Main.%USERNAME%LeftBar. Your own personal leftbar: Main.guestLeftBar
  • Bottom bar: included topic WebBottomBar

Top bar

The top bar is mainly used as branding space. To change the screen room for the logo, see below, Customizing the logo.

Left bar

The menu items are css-formatted bullet lists. So in WebLeftBar you write:

   * *Group*
   * [[SomeTopic][Link 1]]
   * [[AnotherTopic][Link 2]]
   * [[ThirdTopic][Link 3]]

The left bar may contain a Go box instead of the top bar. Use:

   * <input type="text" name="topic" size="16" />

The personal left bar block is formatted like the rest of the left bar.

Putting the left bar at the right

If you have a low screen resolution of say, 640 by 480 pixels, it can be useful to put the left bar "out of the way", at the right side of the page - at the cost of a horizontal scroll bar to access the left (now right) bar. This CSS does this:

Add this to layout.css:
.twikiMain {
   margin-left:0px;
}
.twikiLeftBar {
   margin-left:100%;
}
.twikiBottomBar {
   margin-left:1em;
   margin-right:0;
   padding:0;
}
Add this to style.css:
.twikiMain {
   padding-left:1em;
   padding-right:1em;
}
.twikiBottomBarContents {
   padding-left:0em;
}

This CSS is also attached to this topic, LowRes.css. To use this style, add this to your home page:

   * Personal TWiki.PatternSkin CSS settings
      * Set USERLAYOUTURL = %PUBURL%/%SYSTEMWEB%/PatternSkinCustomization/LowRes.css

Bottom bar

The bottom bar contains the copyright disclaimer, but may contain other information, perhaps a web list.

Customizing the logo

The top bar is 60 pixels high, and has a padding of 5 pixels on top, bottom and left, so the logo should be 50 pixels high. If your logo image has a different size, you can either alter the padding in style.css (.twikiTopBarContents) or change the top bar height in layout.css (look for the comment setting the height of the top bar).

You can also choose to set a background image for the top bar. In style.css, add this to .twikiTopBar:

   background-position:top left;
   background-attachment:fixed;
   background-repeat:no-repeat;
   background-image:url(http://absolute_path_to_your_image);
and set the correct image file path.

Fonts

Font style

Font styles are defined in style.css in these places:

html body {
   font-family:"Lucida Grande", verdana, lucida, helvetica, sans-serif;
}
h1, h2, h3, h4, h5, h6 {
   font-family:"Lucida Grande", helvetica, lucida, verdana, sans-serif;
}
textarea {
   font-family:monospace;
}
input, select {
   font-family:verdana,arial,sans-serif;
}
.twikiSeparator {
   font-family:Arial,sans-serif;
}
.twikiEditPage .twikiSig input {
   font-family:monospace;
}

Font size

Font sizes in PatternSkin are scalable. This means that even on Windows Explorer, the text in the browser can scale with the user settings (in contrast to many sites where texts have a fixes pixel size, these cannot be changed by the user).

Scalable text is a big accessibility asset. If you notwithstanding want to have a fixed font, or if you want to set the default size smaller or bigger, the easiest way is to make a new entry for body, below the 2 other entries:

html body {
   ... (keep)
}
html>body {
   ... (keep)   
}
html body {
   font-size:11px;
}

Colors

                                                

To create a customised palette of colors, see PatternSkinPalette.

Tables

Tables in topic text

If you have TablePlugin installed, tables in topics take on the properties from TABLEATTRIBUTES. Without TablePlugin (if not installed, or disabled in TWikiPreferences under DISABLEDPLUGINS), the tables have a default appearance that is hardcoded in Render.pm. Styles of topic text tables are not set in a style sheet. If you want to have control over the design of tables, for instance if you work with a style guide, you should add table styles under .twikiTopic. See for an example below.

Topic text table example

This is an example css to give tables in topic text a similar appearance. This will override settings in TablePlugin. This code should be added below the other .twikiTopic code in style.css:

.twikiTopic table {
   border-collapse:collapse;
   padding:0px;
   border-spacing:0px;
   empty-cells:show;
   border:0px;
}
.twikiTopic table th {
   background-color:#ccc;
   padding:0.5em 1em;
}
.twikiTopic table td {
   border:1px solid #eee;
}
/* override hardcoded font color */
.twikiTopic table font {
   color:#1e5bbd;
}
.twikiTopic table th a:link,
.twikiTopic table th a:visited {
   color:#1e5bbd;
   text-decoration:none;
}
/* don't show hover background color because we have a table header background */
.twikiTopic table th a:hover {
   background-color:transparent;
   text-decoration:underline;
   border-width:1px;
}
/* no underline if a sort indicator (line) is displayed */
.twikiTopic table th.twikiSortedDescendingCol a:hover,
.twikiTopic table th.twikiSortedAscendingCol a:hover {
   text-decoration:none;
}
/* hide sort icons */
.twikiTopic table th img,
.twikiTopic table th a:link img,
.twikiTopic table th a:visited img {
   display:none;
}

Attachment table, Form table

The appearance of the form table and the attachment table are set in style.css under .twikiForm and .twikiAttachments. Text in these tables is set to wrap, so often the dates are wrapped to two lines. If you prefer to have text on one line and are not disturbed by an extra wide attachment table (or when you screen resolution is big enough), add this code to .twikiAttachments td, .twikiForm td {:

   white-space:nowrap;

Other templates

Other templates than view use the style .twikiVersatileTable for, as the name says, tables with versatile functions. Versatile tables appear a little diffent in each template page (differences are created using multiple classes). Versatile tables are mostly used to format forms to highlight important parts and to dim less important parts. See style.css for specific settings for each template.

-- TWiki:Main.ArthurClemens - 28 Aug 2004

PatternSkinPalette (29 Aug 2004 - 23:18 - r1.2 - ArthurClemens?)

PatternSkinPalette

                                                

This page gives an overview of the colors used by PatternSkin and describes where to change them to create your own style.

Create your own colors

To create a customised set of colors for PatternSkin

   * Plugins.PatternSkin CSS Settings (change colour palette)
      * Set USERSTYLEURL = %PUBURL%/%MAINWEB%/%WIKINAME%/PatternSkinPalette.css

You can also change the colors in a modified version of style.css. See PatternSkinCustomization for instructions.

Colors overview

Text colors

#e24628 header h1
#990000 header h2, h3, h4, h5, h6
#F3EDE7 background header h2
#8490A1 grayed out text .twikiGrayText
#1e5bbd link :link, :visited
#b4d5ff background hover link (note: the link color becomes #1559B3 on hover) :link:hover
#666666 visited link in topic text .twikiTopic a:visited
#7A4707 code pre, code, tt
#000000 body text

Page colors

#f8f8f8 page body
#ffffff main page .twikiMain
#dddddd main page border .twikiMain

Left bar

#880000 body text in left bar .twikiLeftBar
#22638C top border left bar contents .twikiLeftBarContents
#DFEDFD personal left bar background .twikiLeftBarPersonal
#cccccc personal left bar border .twikiLeftBarPersonal

Forms

Action buttons

View page

#98A2B0 action buttons background view page .twikiTopicAction
#ffffff action buttons text and links
#cccccc action buttons links bottom border

Non-view pages

#22638c action buttons background non-view page .twikiTopicAction
#698FA8 action buttons links bottom border
#DFEDFD action buttons secondary row (top) background .twikiTopicActionSecondary
#22638c action buttons secondary row text
#A3BCF1 action buttons secondary row links bottom border
#D4E6FC action buttons submit options .twikiSubmitOptions
#B6C6D9 action buttons submit options border .twikiSubmitOptions

Buttons